Note: FILTER_NULL_ON_FAILURE, FILTER_REQUIRE_SCALAR, FILTER_REQUIRE_ARRAY and FILTER_FORCE_ARRAY dont have prefix "FILTER_FLAG_" but they are FLAGS!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.
Ces constantes sont utilisées par filter_input() et filter_input_array().
INPUT_POST
(int)
INPUT_GET
(int)
INPUT_ENV
(int)
INPUT_SERVER
(int)
INPUT_SESSION
(int)
INPUT_REQUEST
(int)
FILTER_FLAG_NONE
(int)
FILTER_REQUIRE_SCALAR
(int)
FILTER_REQUIRE_ARRAY
(int)
FILTER_FORCE_ARRAY
(int)
FILTER_NULL_ON_FAILURE
(int)
null au lieu de false en cas d'échec.
Utilisable avec tout filtre de validation
FILTER_VALIDATE_*.
FILTER_FLAG_STRIP_LOW
(int)
FILTER_FLAG_STRIP_HIGH
(int)
FILTER_FLAG_STRIP_BACKTICK
(int)
`).
FILTER_FLAG_ENCODE_LOW
(int)
FILTER_FLAG_ENCODE_HIGH
(int)
FILTER_FLAG_ENCODE_AMP
(int)
&.
FILTER_FLAG_NO_ENCODE_QUOTES
(int)
' et ")
ne seront pas encodés.
FILTER_FLAG_EMPTY_STRING_NULL
(int)
null
FILTER_VALIDATE_BOOL
(int)
true pour "1",
1, y compris les notations binaire, octale et hexadécimale, 1.0,
"true", true,
"on",
et "yes".
Retourne false pour "0",
0, y compris les notations binaire, octale et hexadécimale, 0.0,
"false", false,
"off",
"no", et
"".
Les valeurs de type chaîne sont comparées sans tenir compte de la casse.
La valeur retournée pour des valeurs non booléennes dépend de
FILTER_NULL_ON_FAILURE.
Si ce dernier est défini, null est retourné, sinon false est retourné.
defaultFILTER_VALIDATE_BOOLEAN
(int)
FILTER_VALIDATE_BOOL.
Cet alias était disponible avant l'introduction de son nom canonique
dans PHP 8.0.0.
FILTER_VALIDATE_INT
(int)
Note: Les chaînes de caractères sont nettoyées à l'aide de trim() avant validation.
defaultmin_rangemax_rangeFILTER_FLAG_ALLOW_OCTAL
(int)
0[0-7]+).
FILTER_FLAG_ALLOW_HEX
(int)
0x[0-9a-fA-F]+).
FILTER_VALIDATE_FLOAT
(int)
Note: Les chaînes de caractères sont nettoyées à l'aide de trim() avant validation.
defaultdecimalmin_rangemax_rangeFILTER_FLAG_ALLOW_THOUSAND
(int)
,),
qui représentent généralement le séparateur de milliers.
FILTER_VALIDATE_REGEXP
(int)
regexp.
defaultregexpFILTER_VALIDATE_URL
(int)
defaultFILTER_FLAG_SCHEME_REQUIRED
(int)
OBSOLÈTE à partir de PHP 7.3.0 et
SUPPRIMÉ à partir de PHP 8.0.0.
Cela est dû au fait qu'il est toujours implicite avec
le filtre FILTER_VALIDATE_URL.
FILTER_FLAG_HOST_REQUIRED
(int)
OBSOLÈTE depuis PHP 7.3.0 et
SUPPRIMÉ depuis PHP 8.0.0.
Cela est dû au fait qu'il est toujours implicite avec
le filtre FILTER_VALIDATE_URL.
FILTER_FLAG_PATH_REQUIRED
(int)
FILTER_FLAG_QUERY_REQUIRED
(int)
Une URL valide peut ne pas spécifier le
protocole HTTP (http://).
Une validation supplémentaire peut donc être nécessaire pour vérifier si l'URL
utilise un protocole attendu, par exemple ssh:// ou mailto:.
Ce filtre ne fonctionne que sur les URLs ASCII. Cela signifie que les noms de domaine internationalisés (IDN) seront toujours rejetés.
FILTER_VALIDATE_DOMAIN
(int)
defaultFILTER_FLAG_HOSTNAME
(int)
FILTER_VALIDATE_EMAIL
(int)
addr-spec
dans le
» RFC 822.
Cependant, les commentaires, le pliage des espaces blancs et les noms de domaine sans point
ne sont pas pris en charge et seront donc rejetés.
defaultFILTER_FLAG_EMAIL_UNICODE
(int)
La validation des e-mails est complexe et le seul moyen fiable de confirmer qu'un e-mail est valide et existe est d'envoyer un e-mail à l'adresse.
FILTER_VALIDATE_IP
(int)
Valide la valeur en tant qu'adresse IP.
defaultFILTER_FLAG_IPV4
(int)
FILTER_FLAG_IPV6
(int)
FILTER_FLAG_NO_RES_RANGE
(int)
Reserved-By-Protocol dans
» RFC 6890.
Pour IPv4, cela correspond aux plages suivantes :
0.0.0.0/8, 169.254.0.0/16, 127.0.0.0/8, 240.0.0.0/4.
Et pour IPv6, cela correspond aux plages suivantes :
::1/128, ::/128, ::FFFF:0:0/96, FE80::/10.
FILTER_FLAG_NO_PRIV_RANGE
(int)
Ce sont des adresses IPv4 qui se trouvent dans les plages suivantes :
10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16.
FD ou FC.
FILTER_FLAG_GLOBAL_RANGE
(int)
Global est True.
Disponible à partir de PHP 8.2.0.
FILTER_VALIDATE_MAC
(int)
defaultFILTER_UNSAFE_RAW
(int)
FILTER_FLAG_STRIP_*
et FILTER_FLAG_ENCODE_*.
FILTER_DEFAULT
(int)
FILTER_UNSAFE_RAW.
FILTER_SANITIZE_STRING
(int)
FILTER_FLAG_STRIP_*
et FILTER_FLAG_ENCODE_*.
Le comportement d'encodage des guillemets peut être désactivé en utilisant le
filtre FILTER_FLAG_NO_ENCODE_QUOTES.
Obsolète à partir de PHP 8.1.0, utilisez htmlspecialchars() à la place.
La manière dont ce filtre supprime les balises n'est pas équivalente à celle de strip_tags().
FILTER_SANITIZE_STRIPPED
(int)
FILTER_SANITIZE_STRING.
Obsolète à partir de PHP 8.1.0, utilisez htmlspecialchars() à la place.
FILTER_SANITIZE_ENCODED
(int)
FILTER_FLAG_STRIP_*
et FILTER_FLAG_ENCODE_*.
FILTER_SANITIZE_SPECIAL_CHARS
(int)
Ce filtre effectue un encodage HTML sur
', ", <, >, &
et sur les caractères ayant une valeur ASCII inférieure à 32.
Contrairement au filtre FILTER_SANITIZE_FULL_SPECIAL_CHARS,
le filtre FILTER_SANITIZE_SPECIAL_CHARS ignore l’indicateur
FILTER_FLAG_NO_ENCODE_QUOTES.
FILTER_FLAG_STRIP_*,
et il peut encoder les caractères dont la valeur ASCII est supérieure à 127 en utilisant
FILTER_FLAG_ENCODE_HIGH.
FILTER_SANITIZE_FULL_SPECIAL_CHARS
(int)
ENT_QUOTES activé.
Le comportement d'encodage des guillemets peut être désactivé en utilisant le
filtre FILTER_FLAG_NO_ENCODE_QUOTES.
Comme htmlspecialchars(), ce filtre tient compte du paramètre default_charset dans le fichier INI. Si une séquence d'octets qui forme un caractère invalide dans le jeu de caractères actuel est détectée, toute la chaîne est rejetée, ce qui entraîne le retour d'une chaîne vide.
FILTER_SANITIZE_EMAIL
(int)
[a-zA-Z]),
les chiffres ([0-9]),
et les caractères spéciaux
!#$%&'*+-=?^_`{|}~@.[].
FILTER_SANITIZE_URL
(int)
[a-zA-Z]),
les chiffres ([0-9]),
et les caractères spéciaux
$-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
FILTER_SANITIZE_NUMBER_INT
(int)
[0-9]), le signe plus (+),
et le signe moins (-).
FILTER_SANITIZE_NUMBER_FLOAT
(int)
[0-9]), le signe plus (+)
et le signe moins (-).
FILTER_FLAG_ALLOW_FRACTION
(int)
.),
qui représente habituellement le séparateur entre les parties
entière et fractionnaire.
FILTER_FLAG_ALLOW_THOUSAND
(int)
,),
qui représente habituellement le séparateur de milliers.
FILTER_FLAG_ALLOW_SCIENTIFIC
(int)
e et E.
Si le filtre FILTER_FLAG_ALLOW_FRACTION n'est pas utilisé,
le séparateur décimal est supprimé, modifiant ainsi la valeur reçue.
<?php
$number = '12.34';
var_dump(filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT));
var_dump(filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
?>L'exemple ci-dessus va afficher :
string(4) "1234" string(5) "12.34"
FILTER_SANITIZE_ADD_SLASHES
(int)
FILTER_SANITIZE_MAGIC_QUOTES
(int)
FILTER_SANITIZE_ADD_SLASHES.
OBSOLÈTE à partir de PHP 7.3.0 et SUPPRIMÉ à partir de PHP 8.0.0.
FILTER_CALLBACK
(int)
options en tant que valeur associée à la clé
'options'.
Le callback doit avoir la signature suivante :
valueNote: La valeur retournée par le callback 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
Ce filtre ne peut pas être utilisé avec d'autres indicateurs de filtre,
par exemple FILTER_NULL_ON_FAILURE.
Note: FILTER_NULL_ON_FAILURE, FILTER_REQUIRE_SCALAR, FILTER_REQUIRE_ARRAY and FILTER_FORCE_ARRAY dont have prefix "FILTER_FLAG_" but they are FLAGS!