2009-09-21 5 views
0

У меня есть условие php, в основном статическое, если на странице есть «biz-los-angeles.php» показать конкретный html. Я хотел бы добавить еще одно условие, например «retail-biz-los-angeles.php». Каким будет самый простой способ сделать это. В основном я просто хочу, чтобы скрипт собирал «розничный» текст в начале URL-адреса и возвращал конкретный html. Ниже приведен код, чтобы сделать это, но было бы слишком громоздким, чтобы перебирать каждый город.Обнаружить дополнительный текст по адресу

<?php 
$currentpage = basename($_SERVER['SCRIPTNAME']); 

if ($currentpage == 'retail-biz-los-angeles.php') 
    echo 'HTML '; 
else if ($currentpage == 'biz-los-angeles.php') 
    echo 'HTML'; 
?> 

ответ

1

Вы можете проверить что-то вроде этого:

if (strpos($currentpage, 'retail-') === 0)) 
    ... 

В зависимости от вашего сервера/CMS/все, что вы могли бы также рассмотреть возможность использования mod_rewrite.

RewriteRule ^retail-(.*)$ $1?retail=1 [L,QSA] 

Это даст вам $_GET['retail'] == 1 на розничных страницах.

0

вы можете сделать его более надежным, сделав оператор switch. Я не тестировал код, но что-то вроде следующего упростило бы его поддержку.

$currentpage = basename($_SERVER['SCRIPTNAME']); 
    $pageParts = explode('-',$current_page); 
    $section = $pageParts[0]; 

    switch($section){ 
     case 'biz': 
      echo 'BIZ'; 
      break; 
     case 'retail': 
      echo 'Retail'; 
      break; 
     default: 
      echo 'catchall'; 
      break; 
    } 
+0

переключатель ($ секция) -> переключатель (strtolower ($ секция)) – powtac

0

я хотел бы использовать мод рерайт ....

$currentpage = basename($_SERVER['SCRIPTNAME']); 
$pagetags=explode('-',$currentpage); 
if(array_search("retail",$pagetags)!==FALSE){ 
echo "HTML"; 
} 
Смежные вопросы