====== regex ======
===== preg_match =====
Regex quick reference
>''[abc]'' A single character: a, b or c
>''[^abc]'' Any single character but a, b, or c
>''[a-z]'' Any single character in the range a-z
>''[a-zA-Z]'' Any single character in the range a-z or A-Z
>''^'' Start of line
>''$'' End of line
>''\A'' Start of string
>''\z'' End of string
>''.'' Any single character
>''\s'' Any whitespace character
>''\S'' Any non-whitespace character
>''\d'' Any digit
>''\D'' Any non-digit
>''\w'' Any word character (letter, number, underscore)
>''\W'' Any non-word character
>''\b'' Any word boundary character
>''(...)'' Capture everything enclosed
>''(a|b)'' a or b
>''a?'' Zero or one of a
>''a*'' Zero or more of a
>''a+'' One or more of a
>''a{3}'' Exactly 3 of a
>''a{3,}'' 3 or more of a
>''a{3,6}'' Between 3 and 6 of a
options: i case insensitive m make dot match newlines x ignore whitespace in regex o perform #{...} substitutions only once
Vérifier si une chaine de caractère contient des chiffres
if(preg_match('#[0-9]#', "Je contiens quelques chiffres 0 1 2 3 "))
echo "VRAI cette chaine contient des chiffres";
else
echo "FAUX il n'y a pas de chiffres dans cette chaine";
S'assurer qu'une chaine ne contienne QUE des lettres de l'alphabet ou des chiffres ou des tirets ou des tirets bas.
if(!preg_match('#[^a-zA-Z0-9_-]#', "toto"))
echo "VRAI ma chaine est conforme, il n'y a rien d'autre que des lettres, chiffres, tiret ou tiret bas";
else
echo "FAUX ma chaine contient un caractère non autorisé!!!";