Ich muss alle HTML-Tags entfernen, aber mit einer Ausnahme wie: & lt; b & gt ;, & lt; font & gt; usw.
Zum Beispiel:
%Vor%führt zu: Hallo Welt . Wie sind Sie & lt; span & gt; Sie & lt; / span & gt;
Nach meiner Erfahrung ist der beste Weg, um bestimmte HTML-Tags in meiner Erfahrung zu manipulieren, einen DOM-Parser wie HTML-Reiniger zu verwenden, dies kann jedoch ein wenig kompliziert zu Setup und sogar ein bisschen Overkill für Ihre Anwendung. Wenn ich alles nochmal machen würde, würde ich ein anderes Format (wie Wiki-Format oder BB-Code) und nicht HTML verwenden, auf diese Weise können Sie Ihre eigenen, einfachen Tags in HTML umwandeln und haben volle Kontrolle über die Ausgabe.
Zurück zur Frage in der Hand, eine schnelle Lösung für Sie wäre, strip_tags()
zu verwenden und ein zweites Argument von zu übergeben eine Tag-Whitelist - obwohl dies nicht 100% perfekt / sicher für HTML ist, sollten Sie auf lange Sicht entweder einen DOM-Parser verwenden oder keine HTML-Eingabe zulassen.
Es muss eine einfache Logik implementiert werden, etwa wie folgt:
1. Erstellen Sie eine Liste von HTML-Tags, die Sie nicht missen möchten.
2. Abfangen eines HTML-Tags (Öffnen oder Schließen).
3. Wenn das Tag nicht in Ihrer Liste vorhanden ist, ersetzen Sie die umgebenden spitzen Klammern (& lt; & gt;) durch & amp; lt; und & amp; gt ;, d. h. & lt; mytag & gt; wird & amp; lt; Mytag & amp; gt;
4. Wiederholen Sie dies für alle Tags in Ihrer HTML-Datei.
php hat eine Funktion strip_tags
, ich denke, es wird genau das sein, was Sie hier
Tags und Links php