PHP 8.4.2 Released!

Constantes pré-définies

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.

Constantes d'Entrée

Ces constantes sont utilisées par filter_input() et filter_input_array().

INPUT_POST (int)
Variables POST.
INPUT_GET (int)
Variables GET.
Variables COOKIE.
INPUT_ENV (int)
Variables ENV.
INPUT_SERVER (int)
Variables SERVER.
INPUT_SESSION (int)
Variables SESSION. (Supprimé à partir de PHP 8.0.0 ; n'a pas été implémenté précédemment)
INPUT_REQUEST (int)
Variables REQUEST. (Supprimé à partir de PHP 8.0.0 ; n'a pas été implémenté précédemment)
Drapeaux Généraux de Filtrage
FILTER_FLAG_NONE (int)
Aucun drapeau.
FILTER_REQUIRE_SCALAR (int)
Drapeau utilisé pour exiger que l'entrée du filtre soit un scalaire.
FILTER_REQUIRE_ARRAY (int)
Drapeau utilisé pour exiger que l'entrée du filtre soit un array.
FILTER_FORCE_ARRAY (int)
Ce drapeau enveloppe les entrées scalaires dans un array d'un élément pour les filtres qui opèrent sur des tableaux.
FILTER_NULL_ON_FAILURE (int)
Utilise null au lieu de false en cas d'échec. Utilisable avec tout filtre de validation FILTER_VALIDATE_*.
Drapeaux de Filtrage de Sanitation
FILTER_FLAG_STRIP_LOW (int)
Supprime les caractères ayant une valeur ASCII inférieure à 32.
FILTER_FLAG_STRIP_HIGH (int)
Supprime les caractères ayant une valeur ASCII supérieure à 127.
FILTER_FLAG_STRIP_BACKTICK (int)
Supprime les caractères backtick (`).
FILTER_FLAG_ENCODE_LOW (int)
Encode les caractères ayant une valeur ASCII inférieure à 32.
FILTER_FLAG_ENCODE_HIGH (int)
Encode les caractères ayant une valeur ASCII supérieure à 127.
FILTER_FLAG_ENCODE_AMP (int)
Encode &.
FILTER_FLAG_NO_ENCODE_QUOTES (int)
Les guillemets simples et doubles (' et ") ne seront pas encodés.
FILTER_FLAG_EMPTY_STRING_NULL (int)
Si la sanitation d'une chaîne de caractères aboutit à une chaîne vide, convertir la valeur en null
Filtres de Validation
FILTER_VALIDATE_BOOL (int)
Retourne 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é.
Options disponibles
default
Valeur à retourner si le filtre échoue.
Disponible à partir de PHP 8.0.0.
FILTER_VALIDATE_BOOLEAN (int)
Alias de FILTER_VALIDATE_BOOL. Cet alias était disponible avant l'introduction de son nom canonique dans PHP 8.0.0.
FILTER_VALIDATE_INT (int)
Valide si la valeur est un entier, en cas de succès, elle est convertie en type int.

Note: Les chaînes de caractères sont nettoyées à l'aide de trim() avant validation.

Options disponibles
default
Valeur à retourner si le filtre échoue.
min_range
La valeur est valide seulement si elle est supérieure ou égale à la valeur fournie.
max_range
La valeur est valide seulement si elle est inférieure ou égale à la valeur fournie.
Options facultatives
FILTER_FLAG_ALLOW_OCTAL (int)
Permet les entiers en notation octale (0[0-7]+).
FILTER_FLAG_ALLOW_HEX (int)
Permet les entiers en notation hexadécimale (0x[0-9a-fA-F]+).
FILTER_VALIDATE_FLOAT (int)
Valide si la valeur est un nombre flottant, en cas de succès, elle est convertie en type float.

Note: Les chaînes de caractères sont nettoyées à l'aide de trim() avant validation.

Options disponibles
default
Valeur à retourner si le filtre échoue.
decimal
min_range
La valeur est valide seulement si elle est supérieure ou égale à la valeur fournie. Disponible à partir de PHP 7.4.0.
max_range
La valeur est valide seulement si elle est inférieure ou égale à la valeur fournie. Disponible à partir de PHP 7.4.0.
Options facultatives
FILTER_FLAG_ALLOW_THOUSAND (int)
Accepte les virgules (,), qui représentent généralement le séparateur de milliers.
FILTER_VALIDATE_REGEXP (int)
Valide la valeur en fonction de l'expression régulière fournie par l'option regexp.
Options disponibles
default
Valeur à retourner si le filtre échoue.
regexp
Expression régulière compatible Perl.
FILTER_VALIDATE_URL (int)
Valide si le nom de l'URL est valide selon » RFC 2396.
Options disponibles
default
Valeur à retourner si le filtre échoue.
Options facultatives
FILTER_FLAG_SCHEME_REQUIRED (int)
Exige que l'URL contienne une partie schéma.
Avertissement

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)
Exige que l'URL contienne une partie hôte.
Avertissement

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)
Exige que l'URL contienne une partie chemin.
FILTER_FLAG_QUERY_REQUIRED (int)
Exige que l'URL contienne une partie requête.
Avertissement

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:.

Avertissement

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)
Valide si le nom de domaine est valide selon » RFC 952, » RFC 1034, » RFC 1035, » RFC 1123, » RFC 2732, et » RFC 2181.
Options disponibles
default
Valeur à retourner si le filtre échoue.
Options facultatives
FILTER_FLAG_HOSTNAME (int)
Exige que les noms d'hôte commencent par un caractère alphanumérique et ne contiennent que des caractères alphanumériques ou des traits d'union.
FILTER_VALIDATE_EMAIL (int)
Valide si la valeur est une adresse e-mail "valide". La validation est effectuée selon la syntaxe 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.
Options disponibles
default
Valeur à retourner en cas d'échec du filtre.
Options facultatives
FILTER_FLAG_EMAIL_UNICODE (int)
Accepte les caractères Unicode dans la partie locale. Disponible à partir de PHP 7.1.0.
Avertissement

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.

Options disponibles
default
Valeur à retourner en cas d'échec du filtre.
Options facultatives
FILTER_FLAG_IPV4 (int)
Autoriser les adresses IPv4.
FILTER_FLAG_IPV6 (int)
Autoriser les adresses IPv6.
FILTER_FLAG_NO_RES_RANGE (int)
Refuser les adresses réservées. Ce sont les plages qui sont marquées comme 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)
Refuser les adresses privées.

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.

Ce sont des adresses IPv6 commençant par FD ou FC.
FILTER_FLAG_GLOBAL_RANGE (int)
N'autoriser que les adresses globales. Celles-ci peuvent être trouvées dans » RFC 6890 où l'attribut Global est True. Disponible à partir de PHP 8.2.0.
FILTER_VALIDATE_MAC (int)
Valide si la valeur est une adresse MAC.
Options disponibles
default
Valeur à retourner en cas d'échec du filtre.
Filtres de Sanitisation
FILTER_UNSAFE_RAW (int)
Ce filtre ne fait rien. Cependant, il peut supprimer ou encoder des caractères spéciaux s'il est utilisé avec les indicateurs de filtrage de nettoyage FILTER_FLAG_STRIP_* et FILTER_FLAG_ENCODE_*.
FILTER_DEFAULT (int)
Alias de FILTER_UNSAFE_RAW.
FILTER_SANITIZE_STRING (int)
Ce filtre supprime les balises et encode en HTML les guillemets doubles et simples. Optionnellement, il peut supprimer ou encoder des caractères spécifiés s'il est utilisé avec les filtres de sanitarisation 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.
Avertissement

Obsolète à partir de PHP 8.1.0, utilisez htmlspecialchars() à la place.

Avertissement

La manière dont ce filtre supprime les balises n'est pas équivalente à celle de strip_tags().

FILTER_SANITIZE_STRIPPED (int)
Alias de FILTER_SANITIZE_STRING.
Avertissement

Obsolète à partir de PHP 8.1.0, utilisez htmlspecialchars() à la place.

FILTER_SANITIZE_ENCODED (int)
Ce filtre effectue un encodage URL d'une chaîne. Il peut éventuellement supprimer ou encoder des caractères spécifiés s'il est utilisé avec les filtres de sanitation 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.

En option, il peut supprimer des caractères spécifiés s'il est utilisé avec les filtres de sanitation 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)
Ce filtre équivaut à appeler htmlspecialchars() avec ENT_QUOTES activé. Le comportement d'encodage des guillemets peut être désactivé en utilisant le filtre FILTER_FLAG_NO_ENCODE_QUOTES.
Avertissement

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)
Sanitize la chaîne en supprimant tous les caractères sauf les lettres latines ([a-zA-Z]), les chiffres ([0-9]), et les caractères spéciaux !#$%&'*+-=?^_`{|}~@.[].
FILTER_SANITIZE_URL (int)
Sanitize la chaîne en supprimant tous les caractères sauf les lettres latines ([a-zA-Z]), les chiffres ([0-9]), et les caractères spéciaux $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
FILTER_SANITIZE_NUMBER_INT (int)
Sanitize la chaîne en supprimant tous les caractères sauf les chiffres ([0-9]), le signe plus (+), et le signe moins (-).
FILTER_SANITIZE_NUMBER_FLOAT (int)
Assainir la chaîne en supprimant tous les caractères sauf les chiffres ([0-9]), le signe plus (+) et le signe moins (-).
Options Facultatives
FILTER_FLAG_ALLOW_FRACTION (int)
Accepter le caractère point (.), qui représente habituellement le séparateur entre les parties entière et fractionnaire.
FILTER_FLAG_ALLOW_THOUSAND (int)
Accepter le caractère virgule (,), qui représente habituellement le séparateur de milliers.
FILTER_FLAG_ALLOW_SCIENTIFIC (int)
Accepter les nombres en notation scientifique en autorisant les caractères e et E.
Avertissement

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)
Appliquer addslashes() à l'entrée. Disponible depuis PHP 7.3.0.
FILTER_SANITIZE_MAGIC_QUOTES (int)
Alias de FILTER_SANITIZE_ADD_SLASHES.
Avertissement

OBSOLÈTE à partir de PHP 7.3.0 et SUPPRIMÉ à partir de PHP 8.0.0.

Filtre Défini par l'Utilisateur
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'.

Le callback doit avoir la signature suivante :

callback(string $value): mixed
value
La valeur qui est en cours de filtrage.

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
Avertissement

Ce filtre ne peut pas être utilisé avec d'autres indicateurs de filtre, par exemple FILTER_NULL_ON_FAILURE.

add a note

User Contributed Notes 1 note

up
6
shaman_master at list dot ru
4 years ago
Note: FILTER_NULL_ON_FAILURE, FILTER_REQUIRE_SCALAR, FILTER_REQUIRE_ARRAY and FILTER_FORCE_ARRAY dont have prefix "FILTER_FLAG_" but they are FLAGS!
To Top