strip_tags

(PHP 4, PHP 5, PHP 7)

strip_tagsEntfernt HTML- und PHP-Tags aus einem String

Beschreibung

strip_tags ( string $str [, mixed $allowable_tags ] ) : string

Diese Funktion versucht, einen String zurückzugeben, der die um alle NULL Bytes, HTML- und PHP-Tags reduzierte Version von str darstellt. Sie verwendet die gleiche Engine zum Entfernen der Tags wie fgetss().

Parameter-Liste

str

Die Eingabezeichenkette.

allowable_tags

Sie können den optionalen zweiten Parameter verwenden, um die Tags anzugeben, die nicht entfernt werden sollen. Diese werden entweder als string, oder von PHP 7.4.0 an, als array angegeben. Dem Beispiel weiter unten kann das Format dieses Parameters entnommen werden.

Hinweis:

HTML-Kommentare und PHP-Tags werden ebenfalls entfernt. Dieses Verhalten ist hartkodiert und kann nicht mittels allowable_tags verändert werden.

Hinweis:

In PHP 5.3.4 und neuer werden selbst-schließende XHTML-Tags ignoriert, und nur nicht-selbst-schließende Tags sollten in allowable_tags verwendet werden. Um beispielsweise sowohl <br;> als auch <br/> zu erlauben, sollte folgendes verwendet werden:

<?php
strip_tags
($input'<br>');
?>

Rückgabewerte

Gibt die reduzierte Zeichenkette zurück.

Changelog

Version Beschreibung
7.4.0 Der allowable_tags Parameter akzeptiert nun alternativ ein array.

Beispiele

Beispiel #1 strip_tags()-Beispiel

<?php
$text 
'<p>Test-Absatz.</p><!-- Kommentar --> <a href="#fragment">Anderer Text</a>';
echo 
strip_tags($text);
echo 
"\n";

// <p> und <a> zulassen
echo strip_tags($text'<p><a>');

// von PHP 7.4.0 an kann die vorherige Zeile wie folgt geschrieben werden:
// echo strip_tags($text, ['p', 'a']);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Test-Absatz. Anderer Text
<p>Test-Absatz.</p> <a href="#fragment">Anderer Text</a>

Anmerkungen

Warnung

Diese Funktion sollte nicht verwendet werden, um zu versuchen XSS-Attacken zu verhindern. Statt dessen sind geeignetere Funktionen wie htmlspecialchars(), oder andere Mittel abhängig vom Ausgabekontext, zu verwenden.

Warnung

Da strip_tags() HTML nicht wirklich validiert, kann es passieren, dass bei unvollständigen oder unkorrekten Tags mehr Text/Daten gelöscht werden als erwartet.

Warnung

Diese Funktion modifiziert keine Attribute bei Tags, die via allowable_tags erlaubt wurden, dies betrifft auch style und onmouseover Attribute, die ein böswilliger User verwenden kann, um einen Text zu posten, der von anderen Usern gesehen werden soll.

Hinweis:

Tagnamen im Eingabe-HTML, die länger als 1023 Bytes sind, werden behandelt als ob sie ungültig seien, unabhängig vom allowable_tags Parameter.

Siehe auch