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)(?=[^>]*(<|$))/";
Erklärung:
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>
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
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!