(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.
valueDer zu filternde Wert.
Skalare Werte werden intern in eine Zeichenkette umgewandelt, bevor sie gefiltert werden.
filter
Der anzuwendende Filter.
Dies kann entweder ein Validierungsfilter sein, indem eine der
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_RAWist. Dies bedeutet, dass standardmäßig keine Filterung stattfindet.
options
Entweder ein assoziatives array von Optionen oder eine
Bitmaske der Filterflag-Konstanten
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_*