Avec PHP, en utilisant le motif \w avec PCRE ([:alpha:] pour POSIX) dans le masque d’une Regex, il est possible que les accents de caractères ne soient pas identifiés sur certaines configurations (comme chez 1and1 par exemple). Il faut alors définir les informations de localisation avec la fonction setlocale(). Plus précisément sur la catégorie LC_CTYPE pour la classification et la conversion de caractères.
Attention le motif [a-z] d’une Regex ne comprend pas les accents.
Exemple :
<?php setlocale(LC_CTYPE, 'fr_FR','fra'); //Fournit les informations de localisation $string = 'hétérogénéité'; // chaine contenant des caractères accentués var_dump(preg_match('#^[\w]+$#u',$string)); //return int(1) ?>
Grâce à la fonction setlocale(), la recherche de caractères accentués avec preg_match() et le motif \w retourne vrai.