(PHP 4, PHP 5, PHP 7)
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 NULL
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 >.
Hinweis:
In PHP 5.3.4 und neuer muss auch der selbst-schließende XHTML Tag angegeben werden, um diesen aus
str
zu entfernen. Um zum Beispiel sowohl <br;> als auch <br/> zu entfernen, sollte folgendes verwendet werden:<?php
strip_tags($input, '<br><br/>');
?>
Gibt die reduzierte Zeichenkette zurück.
Version | Beschreibung |
---|---|
5.3.4 |
strip_tags() entfernt nicht länger selbst-schließende
XHTML Tags, außer wenn der selbst-schließende XHTML Tag ebenfalls im
allowable_tags angegeben wird.
|
5.0.0 | Die Funktion strip_tags() ist jetzt Binary safe. |
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.
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.