1

我目前正在使用以下代码在链接上生成活动状态: <?php if ($_SERVER["REQUEST_URI"] == "/styles/bracelets.html/"):?>

后跟一个 else if 语句。我将如何添加通配符,以便上面的路径包含路径为:/styles/bracelets.html?p=2、/styles/bracelets.html?p=3 等的所有页面。

提前感谢山姆

4

2 回答 2

1

在这种情况下,您可以使用strpos() :

if (strpos($_SERVER['REQUEST_URI'], '/styles/bracelets.html/') === 0):

这基本上会检查以确保/styles/bracelets.html/位于请求 URI 的开头,并且如果末尾有其他内容也将通过/strpos如果在 haystack 中没有找到需要,则返回 false,如果在 haystack 开头找到,则返回 0,因此需要===.

preg_match()也可以,但 strpos 在这种情况下可以解决问题。

于 2012-05-11T23:20:52.463 回答
0

我想我找到了一些更清洁的方法:

if($_SERVER['SCRIPT_NAME'] == '/desired_page_name.php')

$_SERVER['SCRIPT_NAME']返回当前脚本的路径,但省略可能的 $_GET 连接 。

即如果 www.example.com/page.php?variable=value输入,则将$_SERVER['SCRIPT_NAME']仅包含/page.php部分。

于 2016-08-17T18:22:39.057 回答