Here are the other possible flags that you can use:
http://us3.php.net/manual/hu/ref.filter.php
filter_var
(PHP 5 >= 5.2.0, PECL filter:0.11.0)
filter_var — Filtre une variable avec un filtre spécifique
Liste de paramètres
- variable
-
Valeur à filtrer.
- filter
-
Identifiant du filtre à utiliser. Par défaut, vaut FILTER_SANITIZE_STRING.
- options
-
Tableau associatif d'options ou des drapeaux. Si le filtre accepte les options, les drapeaux peuvent être fournis dans le champ "flags" du tableau. Pour les fonctions de rappel, le type callback devra être passé.
Valeurs de retour
Retourne les données filtrées, ou FALSE si le filtre échoue.
Exemples
Exemple #1 Exemple avec filter_var()
<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('example.com', FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED));
?>
L'exemple ci-dessus va afficher :
string(15) "bob@example.com" bool(false)
Voir aussi
- filter_var_array()
- filter_input()
- filter_input_array()
- information à propos de callback type
filter_var
visseraj at gmail dot com
28-Aug-2008 07:31
28-Aug-2008 07:31
dale dot liszka at gmail dot com
09-Jul-2008 07:15
09-Jul-2008 07:15
Here is how to use multiple flags (for those who learn better by example, like me):
<?php
echo "|asdf".chr(9).chr(128)."_123|";
echo "\n";
// "bitwise conjunction" means logic OR / bitwise |
echo filter_var("|asdf".chr(9).chr(128)."_123\n|" ,FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH);
/*
Results:
|asdf �_123|
|asdf_123|
*/
?>
dale dot liszka at gmail dot com
09-Jul-2008 06:54
09-Jul-2008 06:54
Using the FILTER_CALLBACK requires an array to be passed as the options:
<?php
function toDash($x){
return str_replace("_","-",$x);
}
echo filter_var("asdf_123",FILTER_CALLBACK,array("options"=>"toDash"));
// returns 'asdf-123'
?>
John
26-Jul-2007 09:35
26-Jul-2007 09:35
I managed to get this to work with PHP 5.1.6 on CentOS 5 with minor difficulty.
1) Download the PECL filter package
2) Extract the tarball
3) phpize the directory
4) ./configure
5) make
6) filter-0.11.0/logical_filters.c:25:31: error: ext/pcre/php_pcre.h: No such file or directory
7) find / -name php_pcre.h
8) Make sure php-devel is installed
9) Edit filter-0.11.0/logical_filters.c and replace "ext/pcre/php_pcre.h" with the absolute path of php_pcre.h
10) make
11) make install
12) add "extension=filter.so" to php.ini
13) Restart Apache
