Hallo @portseven,
Deine if
ist nicht Typesicher.
Die Filterung von '<<<<TEXTEXT'
ergibt einen ''
(Leerstring) der als FALSE
gewertet wird.
var_dump(filter_var('<<<<TEXTEXT', FILTER_SANITIZE_STRING)); // string '' (length=0)
var_dump(filter_var('TEXTTEXT<<<', FILTER_SANITIZE_STRING)); // string 'TEXTTEXT' (length=8)
filter_var()
gibt im Fehlerfall ein FALSE
zurück. Sonst die gefilterten Daten.
Vllt hilft folgendes noch beim Verständnis:
$text = 'Lorem <span>ipsum</span>';
$foo = filter_var($text, FILTER_SANITIZE_STRING);
if ($foo === FALSE) {
echo 'ERROR: die Filterung ist fehlgeschlagen.';
}
if ($foo !== $text) {
echo 'Der Text wurde erfolgreich bereinigt und lautet nun: "'. $foo . '"';
}
if ($foo === $text) {
echo 'Der Text war von Beginn an rein und wurde daher nicht verändert.';
}