HTML タグの変更を避けるための正規表現
HTML コンテンツに対して preg_replace を実行する場合、正規表現が誤って変更されないようにすることが重要です。 HTMLタグを変更します。これを実現するには、アサーションを利用して HTML タグ内の一致を除外します。
次のシナリオを考えてみましょう。HTML ページ内の特定の単語を強調表示するために、単語を で囲もうとしています。タグ。ただし、現在の正規表現 /( は、アンカー タグの alt 属性などの HTML 属性内の単語のインスタンスも置き換えます。
これを解決するには、先読みアサーションを使用して、単語は > の後または < の前に出現します。先読みアサーションでは可変長が許可され、次の正規表現になります。適切:
/(asf|foo|barr)(?=[^>]*(<|$))/
この正規表現は、> の後または < の前に一致が発生することを保証します。このアサーション構文の詳細については、http://www.正規表現.info を参照してください。 /lookaround.html。このアサーションを正規表現に組み込むことで、HTML タグ内の一致を除外し、タグの外側のコンテンツを正確に変更できます。
以上が「preg_replace」中に Regex が HTML タグを変更しないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。