2009-09-21 9 views
0

J'ai l'état de php fondamentalement statique si la page est "biz-los-angeles.php" montre spécifique html. Je voudrais ajouter une autre condition par exemple "retail-biz-los-angeles.php". Quel serait le moyen le plus facile de le faire. Fondamentalement, je veux juste script pour ramasser le texte "au détail" au début de l'URL et de renvoyer le code HTML spécifique. Voici le code pour faire ceci mais serait trop lourd pour aller au-dessus de chaque ville.Détecter le texte supplémentaire sur l'URL

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

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

Répondre

1

Vous pouvez vérifier quelque chose comme ceci:

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

En fonction de votre serveur/CMS/tout ce que vous pourriez également envisager d'utiliser mod_rewrite.

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

Cela vous donne $_GET['retail'] == 1 sur les pages de détail.

0

vous pourriez le rendre plus robuste en créant une instruction switch. Je n'ai pas testé le code, mais quelque chose comme ce qui suit le rendrait plus facile à maintenir.

$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

interrupteur (section $) -> commutateur (strtolower (section $)) – powtac

0

i utiliserais mod rewrite ....

$currentpage = basename($_SERVER['SCRIPTNAME']); 
$pagetags=explode('-',$currentpage); 
if(array_search("retail",$pagetags)!==FALSE){ 
echo "HTML"; 
} 
Questions connexes