filter_var
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_var — Filtern einer Variablen mit einem angegebenen Filter
Parameter-Liste
-
value
-
Wert, der gefiltert werden soll. Es ist zu beachten, dass skalare Werte vor dem Filtern intern nach String konvertiert werden.
-
filter
-
Die ID des anzuwendenden Filters. Die Handbuchseite Filtertypen zeigt die verfügbaren Filter auf.
Falls dieser Parameter ausgelassen wird, so wird
FILTER_DEFAULT
verwendet, was zuFILTER_UNSAFE_RAW
äquivalent ist. Dies wird dazu führen, dass keine Filterung stattfindet. -
options
-
Assoziatives Array mit Optionen oder bitweise Disjunktion von Flags. Wenn der Filter Optionen akzeptiert, können Flags im "flags" Feld des Arrays angegeben werden. Für "callback" Filter sollte der callback-Typ angegeben werden. Der Callback muss den zu filternden Wert als einziges Argument akzeptieren und den gefilterten/bereinigten Wert zurückgeben.
<?php
// für Filter, die Optionen zulassen, verwenden Sie dieses Format
$options = array(
'options' => array(
'default' => 3, // Rückgabewert, falls der Filter fehlschlägt
// andere Optionen hier
'min_range' => 0
),
'flags' => FILTER_FLAG_ALLOW_OCTAL,
);
$var = filter_var('0755', FILTER_VALIDATE_INT, $options);
// für Filter, die nur Flags zulassen, können Sie diese direkt übergeben
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
// für Filter, die nur Flags zulassen, können Sie sie ebenfalls als Array übergeben
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN,
array('flags' => FILTER_NULL_ON_FAILURE));
// Callback-Validierungsfilter
function foo($value)
{
// Erwartetes Format: Nachname, Vornamen
if (strpos($value, ", ") === false) return false;
list($surname, $givennames) = explode(", ", $value, 2);
$empty = (empty($surname) || empty($givennames));
$notstrings = (!is_string($surname) || !is_string($givennames));
if ($empty || $notstrings) {
return false;
} else {
return $value;
}
}
$var = filter_var('Doe, Jane Sue', FILTER_CALLBACK, array('options' => 'foo'));
?>
Rückgabewerte
Gibt die gefilterten Daten zurück oder false
wenn fehlgeschlagen.
Beispiele
Beispiel #1 filter_var()-Beispiel
<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('http://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
string(15) "bob@example.com" bool(false)
Siehe auch
- filter_var_array() - Nimmt mehrere Variablen entgegen und filtert sie optional
- filter_input() - Nimmt eine Variable von Außen entgegen und filtert sie optional
- filter_input_array() - Nimmt mehrere Variablen von Außen entgegen und filtert sie optional
- Filtertypen