Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich Text außerhalb von HTML-Tags mithilfe regulärer PHP-Ausdrücke sicher ersetzen?

Wie kann ich Text außerhalb von HTML-Tags mithilfe regulärer PHP-Ausdrücke sicher ersetzen?

Linda Hamilton
Freigeben: 2024-11-26 16:08:13
Original
296 Leute haben es durchsucht

How to Safely Replace Text Outside HTML Tags Using PHP Regular Expressions?

So schließen Sie Übereinstimmungen innerhalb von HTML-Tags in regulären PHP-Ausdrücken aus

Beim Durchführen einer Suche und Ersetzung mit regulären Ausdrücken in einem HTML-Dokument ist dies unerlässlich um sicherzustellen, dass durch die Ersetzung nicht versehentlich HTML-Tags geändert werden. Um dieser Herausforderung zu begegnen, finden Sie hier eine Lösung mit einer Lookahead-Assertion in regulären PHP-Ausdrücken:

$pattern = "/(asf|foo|barr)(?=[^>]*(<|$))/";
Nach dem Login kopieren

Erklärung:

  • Mustergruppierung: Das Muster umfasst drei mögliche Suchbegriffe (asf, foo und barr). Klammern.
  • Lookahead-Behauptung: Die Lookahead-Behauptung (?=[^>]*(<|$)) stimmt mit jedem Vorkommen der Suchbegriffe überein, auf die eine beliebige Anzahl von folgt nicht-> Zeichen (bis zu, aber ausschließlich einem <) oder das Ende der Zeile.

Daher ignoriert dieser reguläre Ausdruck Übereinstimmungen, die innerhalb von HTML-Tags auftreten, und verhindert so wirksam unerwünschte Änderungen am HTML Struktur. Der Ausdruck kann innerhalb von preg_replace() verwendet werden, um selektiv Text außerhalb von HTML-Tags anzusprechen.

Betrachten Sie beispielsweise den folgenden HTML-Text:

<a href="example.com" alt="yasar home page">yasar</a>
Nach dem Login kopieren

Verwenden Sie die Funktion preg_replace() mit dem Mit dem bereitgestellten Muster können Sie das Vorkommen von yasar außerhalb des Anker-Tags durch ein benutzerdefiniertes Span-Tag ersetzen, was zu Folgendem führt:

<a href="example.com" alt="yasar home page">yasar</a>
yasar
Nach dem Login kopieren

In diesem Fall Beispielsweise bleibt das Alt-Attribut innerhalb des Anker-Tags unverändert.

Das obige ist der detaillierte Inhalt vonWie kann ich Text außerhalb von HTML-Tags mithilfe regulärer PHP-Ausdrücke sicher ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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