ホームページ >バックエンド開発 >PHPチュートリアル >PHP の「警告: preg_replace(): 不明な修飾子」エラーを修正する方法?

PHP の「警告: preg_replace(): 不明な修飾子」エラーを修正する方法?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-26 12:02:21944ブラウズ

How to Fix the

警告: preg_replace(): 不明な修飾子

問題

「警告: 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)));

ヒント

  • エスケープの必要性を避けるために、正規表現パターンに現れない区切り文字を選択してください。
  • preg_quote の使用を検討してください。 () 関数内の特殊文字を自動的にエスケープします。 pattern.

追加リソース

  • [PHP 正規表現区切り文字](https://www.php.net/manual/en/regexp.reference.delimiters.php)
  • [正規表現]構文](https://www.正規表現.info/php.html)

以上がPHP の「警告: preg_replace(): 不明な修飾子」エラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。