55 Stimmen

PHP: Alle HTML-Tags aus String entfernen

Tutorial von Stefan Trost | Letztes Update am 25.12.2022 | Erstellt am 05.05.2014

Manchmal ist es notwendig, alle HTML-Tags und Formatierungen aus einem Text zu entfernen, also aus einem formatierten HTML Dokument den unformatierten Plain Text zu extrahieren.

In diesen Tutorial möchte ich euch zeigen, wie ihr dies bewerkstelligen könnt. Wir nutzen dafür die PHP-Funktion strip-tags().

Alle Formatierungen entfernen

Schauen wir uns dazu ein Beispiel an.

$txt = "<p>Dies ist ein <b>Text</b>.</p>";

$txt = strip_tags($txt);  // Dies ist ein Text.

In der Variable $txt haben wir einen String mit einigen HTML Formatierungen gespeichert. Nachdem wir strip_tags() auf diesen Text angewendet haben, sind alle Formatierungen verschwunden.

HTML-Kommentare entfernen

Übrigens entfernt strip_tags() auch HTML-Kommentare, die sich möglicherweise in dem übergebenen String befinden.

$txt = "<p>AB<!-- Kommentar -->CD</p>";

$txt = strip_tags($txt);  // ABCD

Wie man in diesem Beispiel sieht, bleibt lediglich "ABCD" vorhanden.

Einige Formatierungen behalten

Der zweite Parameter von strip_tags() ist optional. Mit diesem Parameter können wir eine Auswahl von HTML-Tags übergeben, die nicht entfernt werden sollen.

$txt = "<p>Dies ist ein <b>Text</b>.</p>";

$txt = strip_tags($txt,'<p><h1>');  // <p>Dies ist ein Text.</p>

In diesem Beispiel möchten wir Absätze (<p>) und Überschriften (<h1>) behalten, der Rest soll aussortiert werden. Demnach wird aus unserem String nur der <b> Tag gelöscht.

Sicherheitswarnung

Zuletzt möchte ich noch eine kleine Sicherheitswarnung zu strip_tags() aussprechen. Diese Funktion kann man nicht ohne weiteres dazu nutzen, einen Nutzereingabe "sicher" zu machen. Erlaubt man zum Beispiel den <p>-Tag und jemand schreibt etwas wie <p onmouseover="bösercode">, wird dies nicht von strip_tags() entfernt. Generell entfernt strip_tags() keine Attribute von erlaubten HTML-Tags.

Des weiteren kann es zu Problemen kommen, wenn man diese Funktion nicht validieren oder unvollständigen HTML Code übergibt. Unter Umständen kann dies dazu führen, dass mehr vom Text gelöscht wird, als beabsichtigt.

Einige weitere Informationen zu diesem Thema findet man in den Antworten zu der Frage nach Möglichkeiten, nur bestimmten HTML Code zu erlauben.

AntwortenPositivNegativ

Über den Autor

AvatarSoftware von Stefan Trost finden Sie auf sttmedia.de. Benötigen Sie eine individuelle Software nach Ihren eigenen Wünschen? Schreiben Sie uns: sttmedia.de/kontakt
Profil anzeigen

 

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.