PHP で preg_match を使用する場合の「Unknown Modifier 'g' in...」エラーについて理解する
PHP で preg_match 関数を使用する場合PHP を使用しようとすると、「不明な修飾子 'g'」というエラー メッセージが表示されることがあります。正規表現の「g」修飾子。
正規表現の「g」修飾子は、通常、文字列内で出現するパターンをすべて検索するためのグローバル検索に使用されます。ただし、この修飾子を preg_match と組み合わせて使用すると、 preg_match は「i」と「m」のみをサポートしているため、この矛盾の背後にある理由は認識されていません。 modifiers.
この問題を解決し、preg_match を使用してグローバル検索を実行するには、代わりに preg_match_all 関数を使用する必要があります。この関数は、文字列内のパターンのすべての出現を照合して、必要なグローバルを提供することで preg_match の機能を拡張します。
したがって、指定したコード スニペットを修正してグローバル検索を実行するには、preg_match 関数を含む行を変更して使用します。 preg_match_all:
preg_match_all("/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/im", ....)
適切な修飾子を付けて preg_match_all を利用すると、文字列内で出現する電子メール アドレス パターンをすべて見つけることができ、「不明な修飾子 'g' in...」エラー メッセージが表示されるのを回避できます。 .
以上がPHP で preg_match が「不明な修飾子 'g'」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。