downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Autres filtres> <Filtres de validation
[edit] Last updated: Fri, 25 May 2012

view this page in

Filtres de nettoyage

Liste des filtres de nettoyage
ID Nom Options 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_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().
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_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_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP Supprime les balises, et supprime ou encode les caractères spéciaux.
FILTER_SANITIZE_STRIPPED "stripped"     Alias du filtre "string".
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_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP Ne fait rien, supprime ou encode les caractères spéciaux.

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



Autres filtres> <Filtres de validation
[edit] Last updated: Fri, 25 May 2012
 
add a note add a note User Contributed Notes Filtres de nettoyage
scamber256 at hotmail dot de 06-Aug-2011 08:37
Just a hint I tested,

You can obtain all the chars <32 (so newline and c.return), by using not operator > !FILTER_FLAG_STRIP_LOW as the last argument.

Example:
filter_input(INPUT_GET,'test',FILTER_SANITIZE_STRING,!FILTER_FLAG_STRIP_LOW);

The filter keeps working as before removing anything else as before apart from FILTER_FLAG_STRIP_LOW.
Just filter those "bad" chars <32 manually you don't want.
Dmitry Snytkine 10-Apr-2011 10:17
Beware that FILTER_FLAG_STRIP_LOW strips NEWLINE and TAG and CARRIAGE RETURN chars. If you have a form that accepts user input in plaintext format, all the submitted text will lose all the line breaks, making it appear all on one line. This basically renders this filter useless for parsing user-submitted text, even in plain text.
marcus at synchromedia dot co dot uk 26-Nov-2009 06:07
It's not entirely clear what the LOW and HIGH ranges are. LOW is characters below 32, HIGH is those above 127, i.e. outside the ASCII range.

<?php
$a
= "\tcafé\n";
//This will remove the tab and the line break
echo filter_var($a, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW);
//This will remove the é.
echo filter_var($a, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites