我目前正在使用以下代码在链接上生成活动状态:
<?php if ($_SERVER["REQUEST_URI"] == "/styles/bracelets.html/"):?>
后跟一个 else if 语句。我将如何添加通配符,以便上面的路径包含路径为:/styles/bracelets.html?p=2、/styles/bracelets.html?p=3 等的所有页面。
提前感谢山姆
我目前正在使用以下代码在链接上生成活动状态:
<?php if ($_SERVER["REQUEST_URI"] == "/styles/bracelets.html/"):?>
后跟一个 else if 语句。我将如何添加通配符,以便上面的路径包含路径为:/styles/bracelets.html?p=2、/styles/bracelets.html?p=3 等的所有页面。
提前感谢山姆
在这种情况下,您可以使用strpos() :
if (strpos($_SERVER['REQUEST_URI'], '/styles/bracelets.html/') === 0):
这基本上会检查以确保/styles/bracelets.html/
位于请求 URI 的开头,并且如果末尾有其他内容也将通过/
。 strpos
如果在 haystack 中没有找到需要,则返回 false,如果在 haystack 开头找到,则返回 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
部分。