Bonjour,
Est-il possible de manipuler des expressions régulières avec des caractères unicode ( \u00E0\u00E1\u00E2\.... ) ?
Par exemple :
Code:
1
2 preg_match('`((^[\u00E0\u00E1\u00E2\]{1,64}])$)`',$toto);
Merci d'avance
Version imprimable
Bonjour,
Est-il possible de manipuler des expressions régulières avec des caractères unicode ( \u00E0\u00E1\u00E2\.... ) ?
Par exemple :
Code:
1
2 preg_match('`((^[\u00E0\u00E1\u00E2\]{1,64}])$)`',$toto);
Merci d'avance
Normalement ceci fonctionne :
Code:preg_match('`^[\x{00E0}\x{00E1}\x{00E2}]{1,64}$`',$toto);
Merci pour votre réponse
par contre j'ai un warning quand je teste avec des char spéciaux comme ž ș ou ț
je fais :
Code:
1
2
3
4 $test = preg_match('`^[\x{017E}\x{0219}\x{021B}]{1,64}$`',$toto); print_r($test);die();
Code:
1
2 <b>Warning</b>: preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: character value in \x{...} sequence is too large at offset 9 in
met ton fichier en utf8, un header php utf8 et rajoute le modifier u à la regexp