繁体   English   中英

preg_match当前使用的URL设计的功能(条件)或更好的主意

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM