Types de filtres
Filtres de validation Liste des filtre de validation ID Nom Options Drapeaux Description FILTER_VALIDATE_BOOLEAN, FILTER_VALIDATE_BOOL "boolean" default FILTER_NULL_ON_FAILURE Retourne &true; pour "1", "true", "on" et "yes". Retourne &false; sinon. Si FILTER_NULL_ON_FAILURE est active, &false; n'est retourné que pour les valeurs "0", "false", "off", "no", "", et &null; est retourné pour les valeurs non-booléennes. FILTER_VALIDATE_DOMAIN "validate_domain" default FILTER_FLAG_HOSTNAME, FILTER_NULL_ON_FAILURE Valide si les longueurs d'étiquettes de nom de domaine sont valides. Valide les noms de domaine par rapport aux RFC 1034, RFC 1035, RFC 952, RFC 1123, RFC 2732, RFC 2181 et RFC 1123. L'indicateur facultatif FILTER_FLAG_HOSTNAME ajoute la capacité de valider spécifiquement les noms d'hôte (ils doivent commencer par un caractère alphanumériques et contenir uniquement des caractères alphanumériques ou des traits d'union). FILTER_VALIDATE_EMAIL "validate_email" default FILTER_FLAG_EMAIL_UNICODE, FILTER_NULL_ON_FAILURE Valide une adresse de courriel. En général, ceci valide l'adresse de courriel selon la syntaxe addr-spec dans la RFC 822, à l'exception des commentaires, du remplissage par des espaces et les noms de domaine sans point qui ne sont pas pris en charge. FILTER_VALIDATE_FLOAT "float" default, decimal, min_range, max_range FILTER_FLAG_ALLOW_THOUSAND, FILTER_NULL_ON_FAILURE Valide un nombre décimal, optionnellement dans l'intervalle fourni, et le convertit en nombre décimal en cas de succès. FILTER_VALIDATE_INT "int" default, min_range, max_range FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX, FILTER_NULL_ON_FAILURE Valide un entier, éventuellement dans un intervalle donné et le convertit en entier en cas de succès. FILTER_VALIDATE_IP "validate_ip" default FILTER_FLAG_IPV4, FILTER_FLAG_IPV6, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE, FILTER_NULL_ON_FAILURE Valide une adresse IP, éventuellement IPv4 ou IPv6, éventuellement hors des plages privées ou réservées. FILTER_VALIDATE_MAC "validate_mac_address" default FILTER_NULL_ON_FAILURE Valide la valeur comme une adresse MAC. FILTER_VALIDATE_REGEXP "validate_regexp" default, regexp FILTER_NULL_ON_FAILURE Valide une valeur avec une expression rationnelle regexp, compatible Perl. FILTER_VALIDATE_URL "validate_url" default FILTER_FLAG_SCHEME_REQUIRED, FILTER_FLAG_HOST_REQUIRED, FILTER_FLAG_PATH_REQUIRED, FILTER_FLAG_QUERY_REQUIRED, FILTER_NULL_ON_FAILURE Valide une URL (selon &url.rfc;2396), éventuellement avec des composants requis. Attention, une URL valide peut ne pas spécifier le protocole HTTP http://, aussi, des validations ultérieures supplémentaires seront requises pour déterminer si l'URL utilise un protocole attendu, i.e. ssh:// ou mailto:. Cette fonction ne trouvera que des URLs ASCII valides, les domaines internationnalisés (contenant des caractères non-ASCII) ne fonctionneront pas.
Lorsque le paramètre default est défini comme option, la valeur passée est utilisée si la valeur n'est pas validée. &reftitle.changelog; &Version; &Description; 8.0.0 Ajout de FILTER_VALIDATE_BOOL qui est un alias pour FILTER_VALIDATE_BOOLEAN. L'utilisation de FILTER_VALIDATE_BOOL est préféré. 7.4.0 Ajout des options min_range et max_range pour FILTER_VALIDATE_FLOAT. 7.0.0 Ajout de FILTER_FLAG_HOSTNAME et FILTER_VALIDATE_DOMAIN.
Filtres de nettoyage Liste des filtres de nettoyage ID Nom Flags Description FILTER_SANITIZE_EMAIL "email" Supprime tous les caractères sauf les lettres, chiffres, et !#$%&'*+-=?^_`{|}~@.[]. FILTER_SANITIZE_ENCODED "encoded" FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_STRIP_BACKTICK, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH Applique l'encodage URL, et supprime ou encode les caractères spéciaux. FILTER_SANITIZE_MAGIC_QUOTES "magic_quotes" Applique addslashes. (OBSOLÈte à partir de PHP 7.3.0 et SUPPRIMÉE à partir de PHP 8.0.0, utiliser FILTER_SANITIZE_ADD_SLASHES à la place.) FILTER_SANITIZE_ADD_SLASHES "add_slashes" Applique addslashes. (Disponible à partir de PHP 7.3.0) FILTER_SANITIZE_NUMBER_FLOAT "number_float" FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC Supprime tous les caractères, sauf les chiffres, +- et éventuellement .,eE. FILTER_SANITIZE_NUMBER_INT "number_int" Supprime tous les caractères sauf les chiffres, et les signes plus et moins. FILTER_SANITIZE_SPECIAL_CHARS "special_chars" FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_STRIP_BACKTICK, FILTER_FLAG_ENCODE_HIGH Transforme en entité HTML les caractères '"<>& et les caractères ASCII de valeur inférieur à 32, et supprime ou encode les autres caractères spéciaux. FILTER_SANITIZE_FULL_SPECIAL_CHARS "full_special_chars" FILTER_FLAG_NO_ENCODE_QUOTES, Équivaut à appeler la fonction htmlspecialchars avec le jeu ENT_QUOTES. L'encodage des guillemets peut être désactivé en utilisant la constante FILTER_FLAG_NO_ENCODE_QUOTES. Comme la fonction htmlspecialchars, ce filtre tient compte du default_charset et si une séquence d'octets est détectée contenant un caractère invalide dans le jeu de caractères courant, alors la chaîne entière sera rejetée et une chaîne vide sera retournée. FILTER_SANITIZE_STRING "string" FILTER_FLAG_NO_ENCODE_QUOTES, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_STRIP_BACKTICK, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP Supprime les balises et transforme en entité HTML les guillemets simple et double, optionnellement supprime ou encode les caractères spéciaux. Encodage des guillemets peut être désactiver en définissant FILTER_FLAG_NO_ENCODE_QUOTES. (Obsolète à partir de PHP 8.1.0, utilisez htmlspecialchars à la place) FILTER_SANITIZE_STRIPPED "stripped" Alias du filtre "string". (Obsolète à partir de PHP 8.1.0, utilisez htmlspecialchars à la place) FILTER_SANITIZE_URL "url" Supprime tous les caractères sauf les lettres, chiffres et $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=. FILTER_UNSAFE_RAW "unsafe_raw" FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_STRIP_BACKTICK, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP Ne fait rien, supprime ou encode les caractères spéciaux. Ce filtre est aussi un alias pour FILTER_DEFAULT.
Lorsque vous utilisez ces filtres comme filtres par défaut, le drapeau par défaut est réglé sur FILTER_FLAG_NO_ENCODE_QUOTES. Vous devez mettre filter.default_flags à 0 explicitement pour que les quotes soient encodées par défaut. Comme ceci: Configurer le filtre par défaut pour agir comme htmlspecialchars &reftitle.changelog; &Version; &Description; 8.0.0 FILTER_SANITIZE_MAGIC_QUOTES a été supprimée. 7.3.0 FILTER_SANITIZE_ADD_SLASHES a été ajouté comme remplacement pour FILTER_SANITIZE_MAGIC_QUOTES 7.3.0 FILTER_SANITIZE_MAGIC_QUOTES a été rendu obsolète.
Autres filtres Liste de filtres divers ID Nom Options Flags Description FILTER_CALLBACK "callback" Fonction ou méthode de rappel (type callable) Tous les drapeaux sont ignorés Appelle une fonction utilisateur pour filtrer les données.
Drapeaux des filtres Liste de drapeaux de filtres ID Utilisé avec Description FILTER_FLAG_STRIP_LOW FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW Supprime les caractères dont la valeur numérique est <32. FILTER_FLAG_STRIP_HIGH FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW Supprime les caractères dont la valeur numérique est >127. FILTER_FLAG_STRIP_BACKTICK FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW Supprime les caractères "accent grave". FILTER_FLAG_ALLOW_FRACTION FILTER_SANITIZE_NUMBER_FLOAT Autorise un point (.) comme séparateur fractionnaire pour les nombres. FILTER_FLAG_ALLOW_THOUSAND FILTER_SANITIZE_NUMBER_FLOAT, FILTER_VALIDATE_FLOAT Autorise une virgule (,) comme séparateur fractionnaire pour les nombres. FILTER_FLAG_ALLOW_SCIENTIFIC FILTER_SANITIZE_NUMBER_FLOAT Autorise un e ou un E pour la notation scientifique dans les nombres. FILTER_FLAG_NO_ENCODE_QUOTES FILTER_SANITIZE_STRING Si ce drapeau est présent, les simples quotes (') et les doubles (") ne seront pas encodées. FILTER_FLAG_ENCODE_LOW FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_STRING, FILTER_SANITIZE_RAW Encode tous les caractères dont la valeur numérique est <32. FILTER_FLAG_ENCODE_HIGH FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_SANITIZE_RAW Encode tous les caractères dont la valeur numérique est >127. FILTER_FLAG_ENCODE_AMP FILTER_SANITIZE_STRING, FILTER_SANITIZE_RAW Encode les &. FILTER_NULL_ON_FAILURE N'importe quel FILTER_VALIDATE_* Retourne &null; pour les valeurs non reconnues. FILTER_FLAG_ALLOW_OCTAL FILTER_VALIDATE_INT Prend en compte les nombres octals précédés d'un zéro (0). Ceci ne fonctionne que pour les chiffres 0-7. FILTER_FLAG_ALLOW_HEX FILTER_VALIDATE_INT Prend en compte les nombres héxadécimaux précédés de 0x ou 0X. Ceci ne fonctionne que pour a-fA-F0-9. FILTER_FLAG_EMAIL_UNICODE FILTER_VALIDATE_EMAIL Permet à la partie locale de l'adresse électronique de contenir des caractères Unicode. FILTER_FLAG_IPV4 FILTER_VALIDATE_IP Autorise une adresse IP au format IPv4. FILTER_FLAG_IPV6 FILTER_VALIDATE_IP Autorise une adresse IP au format IPv6. FILTER_FLAG_NO_PRIV_RANGE FILTER_VALIDATE_IP Échoue la validation pour les intervalles privés IPv4: 10.0.0.0/8, 172.16.0.0/12 et 192.168.0.0/16. Échoue la validation pour les adresses IPv6 commençant par FD ou FC. FILTER_FLAG_NO_RES_RANGE FILTER_VALIDATE_IP Échoue la validation pour les intervalles IPv4 réservés : 0.0.0.0/8, 169.254.0.0/16, 127.0.0.0/8 et 240.0.0.0/4. Ce drapeau ne concerne pas les adresses IPv6. Échoue la validation pour les intervalles IPv6 réservés : ::1/128, ::/128, ::ffff:0:0/96 and fe80::/10. Ce sont les intervalles qui sont marquée comme Reserved-By-Protocol dans la RFC 6890. FILTER_FLAG_SCHEME_REQUIRED FILTER_VALIDATE_URL Requière de l'URL qu'elle contienne une partie schéma. FILTER_FLAG_HOST_REQUIRED FILTER_VALIDATE_URL Requière de l'URL qu'elle contienne une partie hôte. FILTER_FLAG_PATH_REQUIRED FILTER_VALIDATE_URL Oblige URL à contenir un chemin. FILTER_FLAG_QUERY_REQUIRED FILTER_VALIDATE_URL Oblige URL à contenir une chaine de requête. FILTER_REQUIRE_SCALAR Oblige la valeur à être un scalaire. FILTER_REQUIRE_ARRAY Oblige la valeur à être un tableau. FILTER_FORCE_ARRAY Si la valeur est un scalaire, elle sera traitée comme un tableau avec les valeurs scalaires comme seul élément.
&reftitle.changelog; &Version; &Description; 7.3.0 L'usage explicite de FILTER_FLAG_SCHEME_REQUIRED et FILTER_FLAG_HOST_REQUIRED ont été déprécié. 7.1.0 FILTER_FLAG_EMAIL_UNICODE a été ajouté.