(PHP 4, PHP 5)
strip_tags — Entfernt HTML- und PHP-Tags aus einem String
$str
[, string $allowable_tags
] )
Diese Funktion versucht, einen String zurückzugeben, der die um alle NUL
Bytes, HTML- und PHP-Tags reduzierte Version von str
darstellt.
Sie verwendet die gleiche Engine zum Entfernen der Tags wie
fgetss().
str
Die Eingabezeichenkette.
allowable_tags
Sie können den optionalen zweiten Parameter verwenden, um die Tags anzugeben, die nicht entfernt werden sollen.
Hinweis:
HTML-Kommentare und PHP-Tags werden ebenfalls entfernt. Dieses Verhalten ist hartkodiert und kann nicht mittels
allowable_tags
verändert werden.
Hinweis:
Dieser Parameter sollte keine Leerzeichen enthalten. strip_tags() sieht als Tag eine von Groß- und Kleinschreibung unabhängige Zeichenkette zwischen< und dem ersten Leerzeichen oder >. Dies bedeutet, dass strip_tags("<br/>", "<br>") eine leere Zeichenkette zurückgibt.
Gibt die reduzierte Zeichenkette zurück.
Version | Beschreibung |
---|---|
5.0.0 | Die Funktion strip_tags() ist jetzt Binary safe. |
4.3.0 | HTML-Kommentare werden ab jetzt immer entfernt. |
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>');
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Test-Absatz. Anderer Text <p>Test-Absatz.</p> <a href="#fragment">Anderer Text</a>
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.
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.