Es werden bestimmte HTML-Tags in einer Zeichenfolge entfernt

8

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;

    
keepwalking 23.03.2011, 09:06
quelle

4 Antworten

4

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.

    
Dunhamzzz 23.03.2011, 09:30
quelle
2

Verwenden Sie Ссылка

Ich würde mir auch Ссылка

ansehen     
Peeter 23.03.2011 09:30
quelle
0

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.

    
pongapundit 23.03.2011 09:52
quelle
-1

php hat eine Funktion strip_tags , ich denke, es wird genau das sein, was Sie hier

    
BigFatBaby 23.03.2011 09:31
quelle

Tags und Links