preg_replace を使用して、ドロップダウン メニューで現在のページへのリンクを無効にしようとしています。具体的には、クラス名と「無効」属性を、現在のページを指すメニュー オプションに追加しようとしています (ページ名はクエリ文字列にあります)。
これまでのところ、メニューをロードすることはできますが、私の preg_replace は何もしません (preg_replace は時々私にとって混乱しすぎます)。
<?php
$menu = file_get_contents("menu.php");
$q_param = $_SERVER['QUERY_STRING'];
$menu = preg_replace("|<option value=\"routemap.php?$q_param\"></option>|U", "<option value=\"routemap.php?$q_param\" class=\"red\" disabled=\"disabled\">$1</option>", $menu);
echo $menu;
?>
編集:次で修正しました:
<?php
$menu = file_get_contents("menu.php");
$param = $_SERVER['QUERY_STRING'];
$menu = preg_replace("/$param/", "$param\" class=\"red\" disabled=\"disabled", $menu);
echo $menu;
?>
検索パターンの開始マーカーと終了マーカーに問題がありました (と思います)。