Identifier les accents avec Regex et PHP

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…

PHP Logo
Partager :

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.

Partager :

Avez-vous trouvé cet article utile ?
Article utile ?
ℹ️ À savoir Ce formulaire est privé et ne permet pas de réponse.
Pour poser une question ou laisser un commentaire public, utilisez la zone de commentaires plus bas sur la page.

Logo LeCoinDuNet
💻 Besoin d’une aide informatique ?

Je propose une assistance informatique à distance pour vous aider à dépanner votre PC ou vos logiciels.
Service 100 % Lecoindunet.com

Une idée d’article ou un sujet à proposer ? 👉 Soumettre un article ou une idée

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *