So passen Sie Schlüsselwörter außerhalb von HTML-Anker-Tags mit regulären PHP-Ausdrücken an
In PHP können bestimmte Schlüsselwörter in HTML-Inhalten abgeglichen und ersetzt werden Verwendung regulärer Ausdrücke. Ein häufiges Szenario ist die Notwendigkeit, Schlüsselwörter abzugleichen und gleichzeitig deren Vorkommen in HTML-Anker-Tags auszuschließen. Berücksichtigen Sie die folgenden Anforderungen:
Um dieser Herausforderung zu begegnen, können wir eine Lösung für reguläre Ausdrücke in PHP einsetzen, die sicherstellt, dass Schlüsselwortübereinstimmungen nur außerhalb von Anker-Tags auftreten.
Der folgende Codeausschnitt zeigt, wie dies erreicht wird:
<code class="php">$str = preg_replace('~Moses(?!(?>[^<]*(?:<(?!/?a\b)[^<]*)*)</a>)~i', '<a href="novo-mega-link.php"></a>', $str);</code>
Erklärung:
Die Kernkomponente dieses regulären Ausdrucks ist der negative Lookahead. Dieser Lookahead prüft, ob in dieser Reihenfolge ein schließendes Ankertag „“ und ein öffnendes Ankertag „“ vorhanden sind. Wenn dieses Muster gefunden wird, wird der Ausdruck im Lookahead als wahr betrachtet und die Schlüsselwortübereinstimmung abgebrochen.
Daher stellt der reguläre Ausdruck sicher, dass Übereinstimmungen nur dann durchgeführt werden, wenn das Schlüsselwort außerhalb von HTML-Ankertags erscheint. Dies ermöglicht es uns, das Schlüsselwort nachträglich durch ein Anker-Tag zu ersetzen, das auf eine bestimmte URL verweist.
Das obige ist der detaillierte Inhalt vonWie verwende ich reguläre PHP-Ausdrücke, um Schlüsselwörter mit Ausnahme derjenigen in Anker-Tags abzugleichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!