私の悪い英語の申し訳ありません。preg_matchを使用したPHPメニュー
私はPHPでこのメニューバーを持っています。私は、ユーザーがページ上にいる場合、現在のメニュー項目が別の色を取得したいと考えています。私は動作するコードを持っていたが、もし私が/item.php?id=9のようなページを持っていれば、それはうまくいかなかった。だから、私はpreg_matchでこれを試しましたが、うまく動作しません。
メニュー:getSelected
<li <?php unset($pageURL); getSelected("/index.php") ?>><a href="index.php">Home</a></li>
<li <?php unset($pageURL); getSelected("/item.php") ?>><a href="item.php">Item</a></li>
<li <?php unset($pageURL); getSelected("/more.php") ?>><a href="more.php">More</a></li>
が機能:
Function getSelected($nameURL){
$curURL =$_SERVER["REQUEST_URI"];
$pattern = "~$nameURL/.*~";
if(preg_match($pattern, $curURL)){
echo 'class="selected"';
unset($curURL);
}
unset($curURL);
}
私はするpreg_matchでこれを解決することができますか?
ありがとうございました!
ちょっとしたコーディングアドバイス:PHPが自動的に関数変数を処理するので、関数変数の設定を解除する必要はありません。メンテナンスコストが増加するだけです。また、関数名は、あなたが何も印刷していないので誤解を招きます。 – matthewdaniel