Maison > développement back-end > tutoriel php > Pourquoi mon modèle PCRE ne correspond-il pas aux lettres Unicode en PHP ?

Pourquoi mon modèle PCRE ne correspond-il pas aux lettres Unicode en PHP ?

Patricia Arquette
Libérer: 2024-12-29 16:21:11
original
194 Les gens l'ont consulté

Why Doesn't My PCRE Pattern Match Unicode Letters in PHP?

Décodage de l'énigme de correspondance des lettres Unicode en PCRE/PHP

Un développeur a rencontré des difficultés pour valider les noms à l'aide de PCRE en PHP, en particulier avec des fichiers non-ASCII des caractères comme Ă ou 张. Leur modèle initial, "/^([p{L}'- ]) $/", n'a pas réussi à capturer ces caractères, ce qui laisse penser que le modèle ou la gestion des entrées pourrait être le coupable.

Pour clarifions le problème, examinons le modèle. p{L} est un raccourci de propriété de caractère Unicode pour toute lettre Unicode. Cependant, il nécessite le mode UTF-8 pour fonctionner correctement. Par défaut, PHP fonctionne en mode non-Unicode, sensible à la casse.

Il s'avère que le développeur avait négligé de spécifier le modificateur "u" dans son modèle. Ce modificateur active la prise en charge d'Unicode, permettant aux propriétés de caractère telles que p{L} de fonctionner comme prévu.

Pour résoudre le problème, mettez à jour le modèle :

$namePattern = '/^[-\' \p{L}]+$/u';
Copier après la connexion

En ajoutant le modificateur "u" , le modèle correspondra désormais avec précision aux caractères des lettres Unicode, y compris ceux des alphabets non-ASCII, garantissant ainsi une validation réussie des noms avec des caractères comme Ă et 张.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal