0

另一个让我陷入困境的简单事情:

我正在使用以下内容检查当前 url 并根据结果选择一个 div 类:

$checkit = $_SERVER['PHP_SELF'];
... 
<li "; if(strstr($checkit,'welcome')) { echo "class='active_tab'"; }...

我还想做的是检查 url 是否包含其他单词,这些单词也需要将相同的 'li' 项目赋予 'active_tab' 类,但我无法弄清楚格式。像这样的东西,虽然显然这不起作用:

<li "; if(strstr($checkit,'welcome', 'home', 'yourprofile')) { echo "class='active_tab'"; }...

有人可以帮忙吗?

4

1 回答 1

1

知道有更好的方法,但权宜之计是:

$searchStrings = array('welcome','home','yourprofile');
$stringFound = false;
foreach($searchStrings as $checkString)
{
  if(strstr($checkit, $checkString))
  {
    $stringFound = true;
    break;
  }
}

然后$stringFound用来改变你的输出。

编辑 1:continue感谢breakZombieHunter(已经很晚了 -_-)

编辑2:或者你可以使用正则表达式(虽然我认为这有点过分了)

if(preg_match('/(welcome|home|your profile)/',$checkit))
{
 // Do your stuff here
}

但这并不具有表现力(更容易读取和扩展数组),如果这些值开始堆积,则更容易将数组挂接到数据库查询等存储中。

于 2012-10-24T22:49:21.137 回答