preg_replace(): 未知修飾符 - 診斷與解決
遇到錯誤訊息「警告:preg_replace(): 未知修飾符[字元]”,了解底層很重要原因:
缺少分隔符號或未轉義分隔符號
在PHP 中,正規表示式需要分隔符號來定義其邊界。模式中缺少分隔符號或未轉義的分隔符號可能會觸發此錯誤。例如,在提供的程式碼片段中:
preg_replace("<div[^>]*><ul[^>]*>", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)) ));
正規表示式缺少分隔符,因此引擎將「[ ]」解釋為無法辨識的修飾符。
修正:
要解決此問題,請使用有效的分隔符號將正規表示式括起來,例如"/":
preg_replace("/<div[^>]*><ul[^>]*>/", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)) ));
或者,如果分隔符號出現在模式中,請使用反斜線("")將其轉義,如:
preg_replace("/foo\/bar/", "", $string);
其他資源:
以上是為什麼我的 PHP `preg_replace()` 函數會拋出「未知修飾符」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!