diff --git a/reference/filter/constants.callback.xml b/reference/filter/constants.callback.xml new file mode 100644 index 0000000000..488b528b41 --- /dev/null +++ b/reference/filter/constants.callback.xml @@ -0,0 +1,114 @@ + + +
+ Filtre Défini par l'Utilisateur + &extension.constants; + + + + 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 : + + mixedcallback + stringvalue + + + + value + + + La valeur qui est en cours de filtrage. + + + + + + + + La valeur retournée par la fonction de rappel sera la valeur retournée par la + fonction de filtre invoquée. + + + + + Exemple d'utilisation de <constant>FILTER_CALLBACK</constant> pour valider + un nom de connexion + + += 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); +?> +]]> + + &example.outputs; + + + + + + + À partir de PHP 8.1.25 et 8.2.12, les indicateurs structurels + FILTER_REQUIRE_ARRAY, + FILTER_FORCE_ARRAY et + FILTER_REQUIRE_SCALAR s'appliquent à ce filtre, et + FILTER_NULL_ON_FAILURE modifie 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 un false + retourné par la fonction de rappel en &null; ou en exception. + + + + + +
+ diff --git a/reference/filter/constants.flags.generic.xml b/reference/filter/constants.flags.generic.xml new file mode 100644 index 0000000000..0d35f4c323 --- /dev/null +++ b/reference/filter/constants.flags.generic.xml @@ -0,0 +1,107 @@ + + +
+ Drapeaux Généraux de Filtrage + &extension.constants; + + + + 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_*. + + + + + + FILTER_THROW_ON_FAILURE + (int) + + + + Lance une Filter\FilterFailedException + lorsqu'un filtre de validation échoue, au lieu de retourner &false;. + + + Utilisable avec tout filtre de validation + FILTER_VALIDATE_*. + + + Disponible à partir de PHP 8.5.0. + + + + +
+ diff --git a/reference/filter/constants.flags.sanitization.xml b/reference/filter/constants.flags.sanitization.xml new file mode 100644 index 0000000000..8e0756cb95 --- /dev/null +++ b/reference/filter/constants.flags.sanitization.xml @@ -0,0 +1,119 @@ + + +
+ Drapeaux de Filtrage de Sanitation + &extension.constants; + + + + 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 sont 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; + + + + +
+ diff --git a/reference/filter/constants.input.xml b/reference/filter/constants.input.xml new file mode 100644 index 0000000000..d36d0d357f --- /dev/null +++ b/reference/filter/constants.input.xml @@ -0,0 +1,112 @@ + + +
+ Constantes d'Entrée + &extension.constants; + + Ces constantes sont utilisées par + filter_input et + filter_input_array. + + + + + INPUT_POST + (int) + + + + Variables POST. + + + + + + INPUT_GET + (int) + + + + Variables GET. + + + + + + INPUT_COOKIE + (int) + + + + 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) + + + + +
+ diff --git a/reference/filter/constants.sanitization.xml b/reference/filter/constants.sanitization.xml new file mode 100644 index 0000000000..a9ed65909e --- /dev/null +++ b/reference/filter/constants.sanitization.xml @@ -0,0 +1,326 @@ + + +
+ Filtres de Sanitisation + &extension.constants; + + + + 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; 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 sanitation 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, + il convient d'utiliser htmlspecialchars à la place. + + + + + La manière dont ce filtre supprime les balises n'est pas équivalente à celle de + strip_tags. + + + + + + + FILTER_SANITIZE_STRIPPED + (int) + + + + &Alias; FILTER_SANITIZE_STRING. + + + + Obsolète à partir de PHP 8.1.0, + il convient d'utiliser 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. + Contrairement au filtre FILTER_SANITIZE_FULL_SPECIAL_CHARS, + le filtre FILTER_SANITIZE_SPECIAL_CHARS ignore l’indicateur + FILTER_FLAG_NO_ENCODE_QUOTES. + + + 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. + + + + 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) + + + + Assainit 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) + + + + Assainit 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) + + + + Assainit 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) + + + + Assainit 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. + + + + + + + Si le filtre FILTER_FLAG_ALLOW_FRACTION n'est pas utilisé, + le séparateur décimal est supprimé, modifiant ainsi la valeur reçue. + + + + +]]> + + &example.outputs; + + + + + + + + + + + FILTER_SANITIZE_ADD_SLASHES + (int) + + + + Appliquer addslashes à l'entrée. + Disponible à partir de PHP 7.3.0. + + + + + + + FILTER_SANITIZE_MAGIC_QUOTES + (int) + + + + &Alias; FILTER_SANITIZE_ADD_SLASHES. + + + + OBSOLÈTE à partir de PHP 7.3.0 et + SUPPRIMÉ à partir de PHP 8.0.0. + + + + + +
+ diff --git a/reference/filter/constants.validation.xml b/reference/filter/constants.validation.xml new file mode 100644 index 0000000000..4869ed2c3c --- /dev/null +++ b/reference/filter/constants.validation.xml @@ -0,0 +1,688 @@ + + +
+ Filtres de Validation + &extension.constants; + + + + FILTER_VALIDATE_BOOL + (int) + + + + Retourne &true; pour "1", + 1, y compris les notations binaire, octale et hexadécimale, 1.0, y compris la notation scientifique, + "true", &true;, + "on", + et "yes". + + + Retourne &false; pour "0", + 0, y compris les notations binaire, octale et hexadécimale, 0.0, y compris la notation scientifique, + "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é. + + + Options disponibles + + default + + + Valeur à retourner si le filtre échoue. + + + + + + Disponible à partir de PHP 8.0.0. + + + + + + + FILTER_VALIDATE_BOOLEAN + (int) + + + + &Alias; 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. + + + + + 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. + + + + + 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 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. + + + + 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. + + + + 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 pour la plupart des schémas. + + + + + + + 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. + + + + + + + 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. + + + + + Ce filtre est très permissif. Pour tout schéma autre que + http:// ou https://, le contenu + de l'hôte sera accepté sans aucune validation, bien que la présence + d'un hôte reste requise sauf si l'URL a pour schéma + mailto:, news: ou + file:. Les schémas eux-mêmes ne sont pas validés et + peuvent être acceptés même s'ils ne correspondent pas à un schéma + d'URL connu, ou s'ils ont une autre signification en + PHP (comme phar://). Le filtre + accepte également les adresses + loopback + correspondant à l'hôte courant. + + + + +]]> + + &example.outputs; + + + + + + + + + + + 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. + + + + + + + Ce filtre est très permissif. Comme spécifié dans la + RFC 2181, un nom de domaine + valide est une chaîne d'au plus 253 caractères (254 avec un séparateur + . final) dont chaque étiquette (séparée par un + .) compte au plus 63 caractères. Sauf si + FILTER_FLAG_HOSTNAME est utilisé pour s'assurer que + le domaine est aussi un nom d'hôte valide, les espaces blancs, les + métacaractères, les octets de contrôle et même les octets NUL sont + acceptés par le filtre. + + + +,", FILTER_VALIDATE_DOMAIN)); +var_dump(filter_var("null byte: >\0<", FILTER_VALIDATE_DOMAIN)); +var_dump(filter_var("space:> <, tab:>\t<, newline: >\n<, carriage return>\r<", FILTER_VALIDATE_DOMAIN)); +?> +]]> + + &example.outputs; + +," +string(14) "null byte: ><" +string(52) "space:> <, tab:> <, newline: > +<, carriage return> +<" +]]> + + + + + + + + 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. + + + + + + + + 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. + + + + + + + +
+ diff --git a/reference/filter/constants.xml b/reference/filter/constants.xml index e996eec83a..cdb2223d29 100644 --- a/reference/filter/constants.xml +++ b/reference/filter/constants.xml @@ -1,1295 +1,16 @@ - - + + &reftitle.constants; - &extension.constants; - - 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. - - - - - - INPUT_COOKIE - (int) - - - - 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_*. - - - - - - FILTER_THROW_ON_FAILURE - (int) - - - - Lance une Filter\FilterFailedException - lorsqu'un filtre de validation échoue, au lieu de retourner &false;. - - - Utilisable avec tout filtre de validation - FILTER_VALIDATE_*. - - - Disponible à partir de PHP 8.5.0. - - - - + &reference.filter.constants.input; + &reference.filter.constants.flags.generic; + &reference.filter.constants.flags.sanitization; + &reference.filter.constants.validation; + &reference.filter.constants.sanitization; + &reference.filter.constants.callback; - - 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 sont 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", - 1, y compris les notations binaire, octale et hexadécimale, 1.0, y compris la notation scientifique, - "true", &true;, - "on", - et "yes". - - - Retourne &false; pour "0", - 0, y compris les notations binaire, octale et hexadécimale, 0.0, y compris la notation scientifique, - "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é. - - - Options disponibles - - default - - - Valeur à retourner si le filtre échoue. - - - - - - Disponible à partir de PHP 8.0.0. - - - - - - - FILTER_VALIDATE_BOOLEAN - (int) - - - - &Alias; 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. - - - - - 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. - - - - - 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 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. - - - - 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 pour la plupart des schémas. - - - - - - - FILTER_FLAG_HOST_REQUIRED - (int) - - - - Exige que l'URL contienne une partie hôte. - - - - 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_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. - - - - - - - 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. - - - - - Ce filtre est très permissif. Pour tout schéma autre que - http:// ou https://, le contenu - de l'hôte sera accepté sans aucune validation, bien que la présence - d'un hôte reste requise sauf si l'URL a pour schéma - mailto:, news: ou - file:. Les schémas eux-mêmes ne sont pas validés et - peuvent être acceptés même s'ils ne correspondent pas à un schéma - d'URL connu, ou s'ils ont une autre signification en - PHP (comme phar://). Le filtre - accepte également les adresses - loopback - correspondant à l'hôte courant. - - - - -]]> - - &example.outputs; - - - - - - - - - - - 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. - - - - - - - - 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; 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 sanitation 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, - il convient d'utiliser htmlspecialchars à la place. - - - - - La manière dont ce filtre supprime les balises n'est pas équivalente à celle de - strip_tags. - - - - - - - FILTER_SANITIZE_STRIPPED - (int) - - - - &Alias; FILTER_SANITIZE_STRING. - - - - Obsolète à partir de PHP 8.1.0, - il convient d'utiliser 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. - Contrairement au filtre FILTER_SANITIZE_FULL_SPECIAL_CHARS, - le filtre FILTER_SANITIZE_SPECIAL_CHARS ignore l’indicateur - FILTER_FLAG_NO_ENCODE_QUOTES. - - - 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. - - - - 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) - - - - Assainit 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) - - - - Assainit 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) - - - - Assainit 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) - - - - Assainit 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. - - - - - - - Si le filtre FILTER_FLAG_ALLOW_FRACTION n'est pas utilisé, - le séparateur décimal est supprimé, modifiant ainsi la valeur reçue. - - - - -]]> - - &example.outputs; - - - - - - - - - - - FILTER_SANITIZE_ADD_SLASHES - (int) - - - - Appliquer addslashes à l'entrée. - Disponible à partir de PHP 7.3.0. - - - - - - - FILTER_SANITIZE_MAGIC_QUOTES - (int) - - - - &Alias; FILTER_SANITIZE_ADD_SLASHES. - - - - 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'. - - - La fonction de rappel doit avoir la signature suivante : - - mixedcallback - stringvalue - - - - value - - - La valeur qui est en cours de filtrage. - - - - - - - - La valeur retournée par la fonction de rappel sera la valeur retournée par la - fonction de filtre invoquée. - - - - - Exemple d'utilisation de <constant>FILTER_CALLBACK</constant> pour valider - un nom de connexion - - -= 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); -?> -]]> - - &example.outputs; - - - - - - - À partir de PHP 8.1.25 et 8.2.12, les indicateurs structurels - FILTER_REQUIRE_ARRAY, - FILTER_FORCE_ARRAY et - FILTER_REQUIRE_SCALAR s'appliquent à ce filtre, et - FILTER_NULL_ON_FAILURE modifie 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 un false - retourné par la fonction de rappel en &null; ou en exception. - - - - - - +