1

stripos用来修改一个活动的导航类,

<?php if (stripos($_SERVER['REQUEST_URI'],'/members/login') !== false) {echo 'class="active"';} ?>

它就像一个魅力。但是我需要添加另一个REQUEST_URI来检查字符串,并且无法弄清楚如何正确格式化代码。

我努力了:

, '/members/login | /members/members'

和其他没有成功的人。

4

2 回答 2

3

你只需要做两次:

if(
   stripos($_SERVER['REQUEST_URI'],'/members/login') === 0
   ||
   stripos($_SERVER['REQUEST_URI'],'/members/members') === 0){ ...

请注意,===0我假设您不希望 '/someotherpartofyoursite/members/members' 匹配,所以我切换到了。如果您希望在 1 次调用中使用它,您可以使用正则表达式(请参阅 参考资料preg_match()),但在我看来,这已经足够快速和清晰了。

如果列表变得更长,这取决于这些是否是整个路径,如果是,这样的东西可能更合适:

$urls = array('/members/login','/members/members');
if(in_array(parse_url($_SERVER['HTTP_REQUEST_URI'], PHP_URL_PATH),$urls)){....

...但不知道您的 url 方案这是一个猜测。

于 2012-12-11T18:50:52.740 回答
1

您可以像这样在一次调用preg_match中做到这一点:

if (preg_match('#/members/(?:login|members)#i', $_SERVER['REQUEST_URI'])) {
    // matched
}
于 2012-12-11T18:55:28.383 回答