Ü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!