Определить дополнительный текст по URL - PullRequest
0 голосов
/ 21 сентября 2009

У меня есть условие 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';
?>

Ответы [ 3 ]

1 голос
/ 21 сентября 2009

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

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

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

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

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

0 голосов
/ 21 сентября 2009

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

$currentpage = basename($_SERVER['SCRIPTNAME']);
$pagetags=explode('-',$currentpage);
if(array_search("retail",$pagetags)!==FALSE){
echo "HTML";
}
0 голосов
/ 21 сентября 2009

вы можете сделать его более надежным, сделав оператор 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;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...