Wie verwende ich reguläre PHP-Ausdrücke, um Schlüsselwörter mit Ausnahme derjenigen in Anker-Tags abzugleichen?

Susan Sarandon
Freigeben: 2024-10-20 13:32:02
Original
664 Leute haben es durchsucht

How to Use PHP Regular Expressions to Match Keywords Excluding Those in Anchor Tags?

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:

  • Übereinstimmen Sie das Schlüsselwort „keyword“ und sein fettgedrucktes Äquivalent „keyword“, wobei alle Vorkommen innerhalb von Anker-Tags ignoriert werden.
  • Problem: Anker-Tags mit „Schlüsselwort“ als Linktext sollten nicht geändert werden, z. B. „ Schlüsselwort “ und „bereits verknüpftes Schlüsselwort “.

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>
Nach dem Login kopieren

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!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage