「警告: preg_replace(): 不明な修飾子 '] のようなエラー メッセージが表示された場合' xxx.php の 38 行目」は、通常、区切り文字が欠落しているか、正規表現内のエスケープされていない区切り文字です。
PHP では、正規表現には /、#、~ などの区切り文字のペアが必要です。適切な区切り文字がないと、正規表現エンジンがパターンと修飾子を誤って解釈し、「不明な修飾子」エラーが発生する可能性があります。さらに、区切り文字がエスケープされずに正規表現パターン内に表示される場合、同じ問題が発生する可能性があります。
区切り文字の使用:
Wrap適切な区切り文字を使用した正規表現パターン。たとえば、指定したコードで「~」を使用できます:
preg_replace("~<div[^>]*><ul[^>]*>", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)));
エスケープ区切り文字:
または、区切り文字が範囲内にある場合は、区切り文字をエスケープすることもできます。 '' バックスラッシュを使用した正規表現パターン。例:
preg_replace("/foo[^/]+bar/i", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)));
以上がPHP の「警告: preg_replace(): 不明な修飾子」エラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。