[英]preg_match url current with function designed (condition), or better ideas
首先,我对这段代码不太了解,我知道它很糟糕,请原谅。
在我的网站上,我有一个过时的代码“ ereg”,现在我正尝试使用preg_match进行解析,但是我不知道这个新的PHP代码。
function Menu($sitio) {
$url = 'http://www.'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
if(ereg($sitio, $url)) {echo 'class="totalactive"';}
}
如您所见,如果我有一个列表,例如:
<li <?php Menu (/contact) ?>>
如果您在www.yourwebsite.com/contact上,则代码有效。 (但是我认为有更好的方法来执行此操作,因为我在主体页面以及不在此列表中的任何其他网站上都有问题。)
我认为这段代码太糟糕了,知道用php5.3或更高版本甚至更无用。
Preg_match是否有新方法可以检测到该站点并默认设置其中之一? 还是用php5.3修复此问题的全新方法?
只需以此替换您的ereg
呼叫。
preg_match("|" . preg_quote($sitio, "|") . "|", $url)
要仅匹配指定的url,您必须在正则表达式中添加一个开始和结束符号,如下所示:
preg_match("|^" . preg_quote($sitio, "|") . "$|", $url)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.