PHP で正規表現を使用した HTML アンカー タグ外のキーワードの一致
HTML テキスト内のキーワードの一致は、特に次のような場合に困難になることがあります。アンカー タグ (キーワード) や "既にリンクされているキーワード " などの特定のタグ内での一致を回避します。
解決策
提供された PHP コードは、複雑な正規表現を利用して目的の結果を実現します。
<code class="php">$str = preg_replace('~Moses(?!(?>[^<]*(?:<(?!/?a\b)[^<]*)*)</a>)~i', '<a href="novo-mega-link.php"></a>', $str);</code>
正規表現について
正規表現は、メイン式と否定先読みで構成されます。
説明
正規表現は、最初にキーワードを照合することによって機能し、次に否定先読みを使用して、 タグが介在せずに終了タグの存在をチェックします。 先読みが成功した場合は、キーワードがアンカー要素内に囲まれていることを意味します。 、そのため、一致は破棄されます。それ以外の場合、メイン式はキーワードと一致し、指定された HTML コードに置き換えられます。
実装
提供されたコードは、変更された文字列を $str 変数に割り当てます。 。必要に応じて正規表現を変更して、さまざまなキーワードまたは HTML タグに一致させることができます。以上がPHP で正規表現を使用して特定の HTML タグ内の一致するキーワードを除外する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。