Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.
FILTER_CALLBACK
(int)
Ce filtre délÚgue le filtrage à une fonction définie par l'utilisateur.
Le callable est passé via le paramÚtre
options en tant que valeur associée à la clé
'options'.
La fonction de rappel doit avoir la signature suivante :
valueLa valeur qui est en cours de filtrage.
Note:
La valeur retournée par la fonction de rappel sera la valeur retournée par la fonction de filtre invoquée.
Exemple #1
Exemple d'utilisation de FILTER_CALLBACK pour valider
un nom de connexion
<?php
function validate_login(string $value): ?string
{
if (strlen($value) >= 5 && ctype_alnum($value)) {
return $value;
}
return null;
}
$login = "val1dL0gin";
$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
var_dump($filtered_login);
$login = "f&ke login";
$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
var_dump($filtered_login);
?>L'exemple ci-dessus va afficher :
string(10) "val1dL0gin" NULL
Note:
Ă partir de PHP 8.1.25 et 8.2.12, les indicateurs structurels
FILTER_REQUIRE_ARRAY,FILTER_FORCE_ARRAYetFILTER_REQUIRE_SCALARs'appliquent Ă ce filtre, etFILTER_NULL_ON_FAILUREmodifie la façon dont un tel Ă©chec structurel est rapportĂ©. Dans les versions antĂ©rieures, tous les indicateurs Ă©taient ignorĂ©s. Les indicateurs propres Ă un filtre sont toujours ignorĂ©s et, puisque la valeur de retour de la fonction de rappel constitue le rĂ©sultat, la fonction de rappel elle-mĂȘme ne peut pas Ă©chouer : aucun indicateur ne transforme unfalseretournĂ© par la fonction de rappel ennullou en exception.