我有這樣的代碼正則表達式的結果「分隔符不能是字母,數字或反斜線」
function a($menu_item, $remove_link) {
$pattern = 'class="(.+)"(.+)<a.+>(.+)</a>';
if($remove_link) {
return preg_replace($pattern, 'class="$1 selected"$2$3', $menu_item); //<- line 6
}
return $menu_item;
}
這基本上檢查,如果$remove_link
是真實的,然後刪除該鏈接並增加了一個類定義$menu_item
例如,如果我使用
$menu_item = '<li class="menuitem first"><a href="index.php">Home</a></li>';
$menu_item = a($menu_item, true);
它應該返回
<li class="menuitem first selected">Home</li>;
正則表達式進行測試,它工作在記事本+ +,但我的職責是給這個錯誤:
Warning: preg_replace(): Delimiter must not be alphanumeric or backslash in functions.php on line 6
我看到PHP的模式必須被「分隔」用斜槓,所以我試圖用class="/(.+)"(.+)<a.+>(.+)/</a>
相反,但它給出了同樣的錯誤。
我在想什麼?我如何正確使用分隔符?
見http://php.net/manual/en/regexp.reference.delimiters.php – mario