(PHP 5 >= 5.2.0, PHP 7)
filter_var — Filtre une variable avec un filtre spécifique
variable
Valeur à filtrer. Notez que les valeurs scalaires sont converties en chaîne de caractères en interne avant qu'elles ne soient filtrées.
filter
L'ID du filtre à appliquer. La Types de filtres page du manuel liste les filtres disponibles.
Si non spécifié, FILTER_DEFAULT
sera utilisé, ce qui est équivalent à
FILTER_UNSAFE_RAW
.
Cela reviendra à n'avoir aucun filtre en place par défaut.
options
Tableau associatif d'options ou des drapeaux. Si le filtre accepte les options, les drapeaux peuvent être fournis dans le champ "flags" du tableau. Pour les fonctions de rappel, le type callable devra être passé. La fonction de rappel doit accepter un seul argument ; la valeur à filtrer et retournera la valeur, une fois le filtre appliqué.
<?php
// Pour les filtres acceptant les options,
// utilisez ce format
$options = array(
'options' => array(
'default' => 3, // valeur à retourner si le filtre échoue
// autres options ici...
'min_range' => 0
),
'flags' => FILTER_FLAG_ALLOW_OCTAL,
);
$var = filter_var('0755', FILTER_VALIDATE_INT, $options);
// Pour les filtres qui n'acceptent que des drapeaux,
// vous pouvez les passer directement
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
// Pour les filtres qui n'acceptent que des drapeaux,
// vous pouvez également les passer sous forme de tableau
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN,
array('flags' => FILTER_NULL_ON_FAILURE));
// Fonction de rappel du filtre
function foo($value)
{
// Format attendu: Surname, GivenNames
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'));
?>
Retourne les données filtrées, ou FALSE
si le filtre échoue.
Exemple #1 Exemple avec filter_var()
<?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));
?>
L'exemple ci-dessus va afficher :
string(15) "bob@example.com" bool(false)