Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann verhindert werden, dass Regex HTML-Tags während „preg_replace' ändert?

Wie kann verhindert werden, dass Regex HTML-Tags während „preg_replace' ändert?

Susan Sarandon
Freigeben: 2024-11-27 04:58:09
Original
939 Leute haben es durchsucht

How to Prevent Regex from Modifying HTML Tags During `preg_replace`?

Regex zur Vermeidung von Änderungen an HTML-Tags

Beim Durchführen von preg_replace für HTML-Inhalte muss unbedingt sichergestellt werden, dass der reguläre Ausdruck nicht versehentlich geändert wird HTML-Tags ändern. Um dies zu erreichen, können Sie eine Assertion verwenden, um Übereinstimmungen innerhalb von HTML-Tags auszuschließen.

Stellen Sie sich das folgende Szenario vor: Um bestimmte Wörter auf einer HTML-Seite hervorzuheben, versuchen Sie, sie in ein einzuschließen. Etikett. Ihr aktueller regulärer Ausdruck /( ersetzt jedoch auch Instanzen des Worts innerhalb von HTML-Attributen, wie z. B. dem Alt-Attribut des Anker-Tags.

Um dieses Problem zu beheben, können Sie eine Lookahead-Behauptung verwenden, die überprüft, ob das Wort steht nach einem > oder vor <. Lookahead-Behauptungen ermöglichen variable Längen, sodass der folgende reguläre Ausdruck geeignet ist:

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

Dieser reguläre Ausdruck stellt sicher, dass die Übereinstimmung nach jedem > oder vor jedem < erfolgt. Eine detaillierte Erklärung dieser Behauptungssyntax finden Sie unter http://www.regular-expressions.info/lookaround.html. Sie können Übereinstimmungen innerhalb von HTML-Tags ausschließen und den Inhalt außerhalb von Tags präzise ändern.

Das obige ist der detaillierte Inhalt vonWie kann verhindert werden, dass Regex HTML-Tags während „preg_replace' ändert?. 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