(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_var — Filtre une variable avec un filtre spécifique
Filtrer une variable en utilisant un filtre de validation
FILTER_VALIDATE_*,
un filtre de purification
FILTER_SANITIZE_*,
ou un filtre personnalisé.
valueLes valeurs scalaires sont converties en chaîne en interne avant d'être filtrées.
filterFILTER_VALIDATE_*,
un filtre de purification en utilisant une des constantes
FILTER_SANITIZE_*,
ou FILTER_UNSAFE_RAW, ou un filtre personnalisé
en utilisant FILTER_CALLBACK.
Note: Le filtre par défaut est
FILTER_DEFAULT, qui est un alias deFILTER_UNSAFE_RAW. Ceci résulte en aucun filtrage par défaut.
optionsFILTER_FLAG_*.
Si le filter accepte des options,
les drapeaux peuvent être fournis en utilisant la clé
"flags" du tableau.
En cas de succès retourne les données filtrées.
En cas d'échec false est retourné,
sauf si le drapeau FILTER_NULL_ON_FAILURE est utilisé,
auquel cas null est retourné.
Exemple #1 Un exemple pour filter_var()
<?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));
?>L'exemple ci-dessus va afficher :
string(15) "bob@example.com" bool(false)
Exemple #2 Un exemple validant les entrées d'un tableau
<?php
$emails = [
"bob@example.com",
"test@example.local",
"invalidemail"
];
var_dump(filter_var($emails, FILTER_VALIDATE_EMAIL, FILTER_REQUIRE_ARRAY));
?>L'exemple ci-dessus va afficher :
array(3) {
[0]=>
string(15) "bob@example.com"
[1]=>
string(18) "test@example.local"
[2]=>
bool(false)
}
Exemple #3 Exemple fournissant un tableau pour 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));
?>L'exemple ci-dessus va afficher :
int(493) bool(false)
Exemple #4 Fournir les drapeaux soit directement, soit à l'aide d'un 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]));
?>L'exemple ci-dessus va afficher :
NULL NULL
FILTER_VALIDATE_*
FILTER_SANITIZE_*