「preg_replace」中に Regex が HTML タグを変更しないようにするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-27 04:58:09
オリジナル
912 人が閲覧しました

How to Prevent Regex from Modifying HTML Tags During `preg_replace`?

HTML タグの変更を避けるための正規表現

HTML コンテンツに対して preg_replace を実行する場合、正規表現が誤って変更されないようにすることが重要です。 HTMLタグを変更します。これを実現するには、アサーションを利用して HTML タグ内の一致を除外します。

次のシナリオを考えてみましょう。HTML ページ内の特定の単語を強調表示するために、単語を で囲もうとしています。タグ。ただし、現在の正規表現 /( は、アンカー タグの alt 属性などの HTML 属性内の単語のインスタンスも置き換えます。

これを解決するには、先読みアサーションを使用して、単語は > の後または < の前に出現します。先読みアサーションでは可変長が許可され、次の正規表現になります。適切:

/(asf|foo|barr)(?=[^>]*(<|$))/
ログイン後にコピー

この正規表現は、> の後または < の前に一致が発生することを保証します。このアサーション構文の詳細については、http://www.正規表現.info を参照してください。 /lookaround.html。このアサーションを正規表現に組み込むことで、HTML タグ内の一致を除外し、タグの外側のコンテンツを正確に変更できます。

以上が「preg_replace」中に Regex が HTML タグを変更しないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート