(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 personalisé.
value
Les valeurs scalaire sont convertie en string en interne avant d'être filtré.
filter
FILTER_VALIDATE_*
,
un filtre de purification en utilisant une des constantes
FILTER_SANITIZE_*
,
ou FILTER_UNSAFE_RAW
, ou un filtre personalisé
en utilisant FILTER_CALLBACK
.
Note: Le filtre par défaut est
FILTER_DEFAULT
, qui est un alias deFILTER_UNSAFE_RAW
. Ceci resulte en aucun filtrage par default.
options
FILTER_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 example 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_*