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.

Avertissement

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:

Exemple #1 Configurer le filtre par défaut pour agir comme htmlspecialchars

filter.default = full_special_chars
filter.default_flags = 0

Historique

Version Description
8.1.0 FILTER_SANITIZE_STRING et FILTER_SANITIZE_STRIPPED ont été dépréciés.
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.