Heim  >  Artikel  >  Backend-Entwicklung  >  Wie schließe ich passende Schlüsselwörter innerhalb bestimmter HTML-Tags mithilfe regulärer Ausdrücke in PHP aus?

Wie schließe ich passende Schlüsselwörter innerhalb bestimmter HTML-Tags mithilfe regulärer Ausdrücke in PHP aus?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-20 13:30:29340Durchsuche

How to Exclude Matching Keywords within Specific HTML Tags Using Regular Expressions in PHP?

Übereinstimmende Schlüsselwörter außerhalb von HTML-Anker-Tags mithilfe regulärer Ausdrücke in PHP

Übereinstimmende Schlüsselwörter in HTML-Text können eine Herausforderung sein, insbesondere wenn es darum geht Vermeidung von Übereinstimmungen innerhalb bestimmter Tags wie Anker-Tags (Schlüsselwort“ und „bereits verknüpftes Schlüsselwort “.

Die Lösung

Der bereitgestellte PHP-Code nutzt einen komplexen regulären Ausdruck, um das gewünschte Ergebnis zu erzielen:

<code class="php">$str = preg_replace('~Moses(?!(?>[^<]*(?:<(?!/?a\b)[^<]*)*)</a>)~i',
                    '<a href="novo-mega-link.php"></a>', $str);</code>

Verstehen des regulären Ausdrucks

Der reguläre Ausdruck besteht aus einem Hauptausdruck und einem negativen Lookahead:

Erklärung

Der reguläre Ausdruck funktioniert, indem er zunächst das Schlüsselwort abgleicht, um zu prüfen, ob ein schließendes -Tag vorhanden ist, ohne dass ein dazwischenliegendes -Tag vorhanden ist , daher wird die Übereinstimmung verworfen. Andernfalls stimmt der Hauptausdruck mit dem Schlüsselwort überein und wird durch den angegebenen HTML-Code ersetzt.

Implementierung

Der bereitgestellte Code weist die geänderte Zeichenfolge der Variablen $str zu . Der reguläre Ausdruck kann nach Bedarf geändert werden, um ihn an verschiedene Schlüsselwörter oder HTML-Tags anzupassen.

Das obige ist der detaillierte Inhalt vonWie schließe ich passende Schlüsselwörter innerhalb bestimmter HTML-Tags mithilfe regulärer Ausdrücke in PHP aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn