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 中国語 Web サイトの他の関連記事を参照してください。