>我目前正在使用以下代码在链接上生成活动状态: <?php if ($_SERVER["REQUEST_URI"] == "/styles/bracelets.html/"):?>
后跟一个 else if 语句。我将如何添加通配符,以便上面的路径包括路径为:/styles/bracelets.html?p=2、/styles/bracelets.html?p=3 等的所有页面。
提前致谢Sam
在这种情况下,
你可以使用 strpos():
if (strpos($_SERVER['REQUEST_URI'], '/styles/bracelets.html/') === 0):
这基本上是检查以确保/styles/bracelets.html/
位于请求 URI 的开头,并且如果末尾有其他内容尾随/
,也会通过。 如果在大海捞针中找不到需要,strpos
将返回 false,如果在干草堆开始时找到它,则返回 0,因此需要===
。
preg_match() 也可以工作,但 strpos 在这种情况下可以解决问题。
我想我找到了更干净的方法:
if($_SERVER['SCRIPT_NAME'] == '/desired_page_name.php')
$_SERVER['SCRIPT_NAME']
返回当前脚本的路径,但省略可能的 $_GET 级串联。
即,如果输入www.example.com/page.php?variable=value
,则$_SERVER['SCRIPT_NAME']
将仅包含/page.php
部分。