0

我正在尝试使用 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;
?>

这是搜索模式的开始和结束标记的问题(我认为)。

4

0 回答 0