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 でサイトを検出し、デフォルトでそれらの 1 つを設定する新しい方法はありますか? または、これを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 に答える