0

首先,我对这段代码了解不多,也知道很差,见谅。

在我的网站中,我有一个已弃用的代码“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 解决这个问题的全新更好的方法?

4

1 回答 1

0

只需用ereg这个替换你的电话。

preg_match("|" . preg_quote($sitio, "|") . "|", $url)

要仅匹配指定的 url,您必须向该正则表达式添加开始和结束符号,如下所示:

preg_match("|^" . preg_quote($sitio, "|") . "$|", $url)
于 2012-12-08T21:20:13.710 回答