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"
,
"true"
,
"on"
,
et "yes"
.
Retourne false
pour "0"
,
"false"
,
"off"
,
"no"
, et
""
.
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é.
default
FILTER_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.
default
min_range
max_range
FILTER_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.
default
decimal
min_range
max_range
FILTER_FLAG_ALLOW_THOUSAND
(int)
,
),
qui représentent généralement le séparateur de milliers.
FILTER_VALIDATE_REGEXP
(int)
regexp
.
default
regexp
FILTER_VALIDATE_URL
(int)
default
FILTER_FLAG_SCHEME_REQUIRED
(int)
FILTER_FLAG_HOST_REQUIRED
(int)
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)
default
FILTER_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.
default
FILTER_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.
default
FILTER_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)
default
FILTER_UNSAFE_RAW
(int)
FILTER_DEFAULT
(int)
FILTER_UNSAFE_RAW
.
FILTER_SANITIZE_STRING
(int)
FILTER_SANITIZE_STRIPPED
(int)
FILTER_SANITIZE_STRING
.
(Déprécié depuis PHP 8.1.0,
utilisez htmlspecialchars() à la place.)
FILTER_SANITIZE_ENCODED
(int)
FILTER_SANITIZE_SPECIAL_CHARS
(int)
FILTER_SANITIZE_FULL_SPECIAL_CHARS
(int)
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
.
FILTER_SANITIZE_ADD_SLASHES
(int)
FILTER_SANITIZE_MAGIC_QUOTES
(int)
FILTER_SANITIZE_ADD_SLASHES
.
(DÉCONSEILLÉ depuis PHP 7.3.0 et
SUPPRIMÉ depuis PHP 8.0.0)
FILTER_CALLBACK
(int)
options
en tant que valeur associée à la clé
'options'
.
Le callback doit avoir la signature suivante :
value
Note: 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($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!