(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_var — Filtert eine Variable mit einem angegebenen Filter
Filtert eine Variable unter Verwendung eines
FILTER_VALIDATE_*
-Validierungsfilters, eines
FILTER_SANITIZE_*
-Bereinigungsfilters
oder eines benutzerdefinierten Filters.
value
Skalare Werte werden intern in eine Zeichenkette umgewandelt, bevor sie gefiltert werden.
filter
FILTER_VALIDATE_*
-Konstanten
verwendet wird, ein Bereinigungsfilter, indem eine der
FILTER_SANITIZE_*
-Konstanten
verwendet wird, der Fiter FILTER_UNSAFE_RAW
oder ein
benutzerdefinierter Filter durch Verwendung von
FILTER_CALLBACK
.
Hinweis: Die Voreinstellung ist
FILTER_DEFAULT
, was ein Alias vonFILTER_UNSAFE_RAW
ist. Dies bedeutet, dass standardmäßig keine Filterung stattfindet.
options
FILTER_FLAG_*
.
Wenn filter
Optionen akzeptiert, können die Flags
durch Verwendung des Array-Schlüssels "flags"
angegeben werden.
Bei Erfolg werden die gefilterten Daten zurückgegeben.
Im Fehlerfall wird false
zurückgegeben, es sei denn, das Flag
FILTER_NULL_ON_FAILURE
wird verwendet; in diesem Fall
wird null
zurückgegeben.
Beispiel #1 filter_var()-Beispiel
<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('https://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
string(15) "bob@example.com" bool(false)
Beispiel #2 Beispiel für das Validieren der Einträge eines Arrays
<?php
$emails = [
"bob@example.com",
"test@example.local",
"invalidemail"
];
var_dump(filter_var($emails, FILTER_VALIDATE_EMAIL, FILTER_REQUIRE_ARRAY));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(3) { [0]=> string(15) "bob@example.com" [1]=> string(18) "test@example.local" [2]=> bool(false) }
Beispiel #3 Beispiel für die Übergabe eines Arrays für options
<?php
$options = [
'options' => [
'min_range' => 10,
],
'flags' => FILTER_FLAG_ALLOW_OCTAL,
];
var_dump(filter_var('0755', FILTER_VALIDATE_INT, $options));
var_dump(filter_var('011', FILTER_VALIDATE_INT, $options));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
int(493) bool(false)
Beispiel #4 Angabe von Flags entweder direkt oder über ein array
<?php
$str = 'string';
var_dump(filter_var($str, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE));
var_dump(filter_var($str, FILTER_VALIDATE_BOOLEAN, ['flags' => FILTER_NULL_ON_FAILURE]));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
NULL NULL
FILTER_VALIDATE_*
FILTER_SANITIZE_*