Correspondance des caractères de lettre Unicode dans PCRE/PHP
Pour tenter de valider les noms en PHP, un modèle est implémenté en utilisant l'expression régulière suivante :
/^([\p{L}'\- ])+$/
Cependant, la validation ne parvient pas à correspondre aux caractères Unicode tels que Ă ou张.
Analyse
Le problème vient de l'omission du modificateur "u" dans l'expression régulière. Ce modificateur est nécessaire pour activer la correspondance des caractères Unicode et éviter toute confusion avec les modèles ASCII uniquement.
En modifiant le modèle pour inclure le modificateur "u":
/^[-\' \p{L}]+$/u
l'expression régulière peut désormais correctement faire correspondre les caractères des lettres Unicode, ainsi que les apostrophes, les traits d'union et les espaces.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!