如何修改我的strpos语句以仅定位确切的字符串

时间:2012-03-21 19:43:17

标签: php url strpos

警告 - 我是前端设计师;请原谅我对这里的PHP概念的摸索

所以我有一个PHP语句,当页面的URL与语句匹配时,它基本上在我的标记中输出一个类。这是:

<?php if (strpos($_SERVER["REQUEST_URI"],"/technology") === false) {} else { echo "current"; } ?>

按原样,我在<a>元素内的<nav>标记的class属性中使用语句来添加一个“current”类,以便我可以设置{{1您当前所在页面的元素不同。因此,它适用于网站主导航,因为即使对于不仅仅是nav的页面,它也会返回true,例如/technology这是我想要的全站点导航。

问题是我想在子部分导航中使用此代码的类似但经修改的版本,该版本仅出现在主要子页面类别上。

因此,在这些情况下,我只希望在匹配确切的URL时结果为真。更具体地说,即使我在/technology/security上,我也希望排除父级(即/technology)。

那么如何修改语句来评估这种方式呢?

2 个答案:

答案 0 :(得分:4)

preg_match功能在这方面效果会更好,因为regular expressions可让您使用$运算符匹配字符串的结尾。

<?php
if(preg_match("%/technology$%", $_SERVER['REQUEST_URI'])){
    echo "current";
}
?>

答案 1 :(得分:1)

很抱歉,但是如果我有烦恼那就空了,你应该把它重新写到:

<?php if (strpos($_SERVER["REQUEST_URI"],"/technology") !== false) { echo "current"; } ?>