Maison > développement back-end > tutoriel php > Comment puis-je faire correspondre correctement les lettres Unicode dans le PCRE de PHP à l'aide de `\p{L}` ?

Comment puis-je faire correspondre correctement les lettres Unicode dans le PCRE de PHP à l'aide de `\p{L}` ?

Linda Hamilton
Libérer: 2024-12-26 12:18:17
original
214 Les gens l'ont consulté

How Can I Correctly Match Unicode Letters in PHP's PCRE Using `p{L}`?

Correspondance des caractères de lettres Unicode dans PCRE/PHP : exploration des propriétés des caractères Unicode

La quête d'un validateur de nom complet en PHP a conduit à la exploration des propriétés des caractères Unicode. Cependant, une tentative récente avec le modèle "/^([p{L}'- ]) $/" s'est heurtée à des limitations, ne parvenant pas à reconnaître des caractères comme Ă ou 张.

Comprendre les propriétés des caractères Unicode

Le modèle utilise la propriété de caractère Unicode p{L}, qui représente les lettres dans n'importe quelle langue. Toutefois, cette propriété nécessite le mode UTF-8 pour fonctionner correctement. Sans le modificateur « u » dans le modèle, les propriétés des caractères Unicode ne sont pas utilisées, ce qui conduit au comportement observé.

Résoudre le problème

Pour corriger le problème, le modificateur "u" doit être ajouté au motif. Cela active le mode UTF-8, permettant aux propriétés des caractères Unicode d'être correctement interprétées. Le modèle révisé "/^[-' p{L}] $/u" correspondra désormais avec précision aux lettres Unicode, aux apostrophes, aux traits d'union et aux espaces.

Considérations supplémentaires

Assurez-vous que les données d'entrée sont bien fournies en codage UTF-8. Spécifiez explicitement l’encodage UTF-8 sur la page du formulaire pour éviter d’éventuels problèmes de compatibilité. De plus, notez que le modèle autorise toujours les caractères d'espacement, qui devront peut-être être restreints dans le validateur.

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!

source:php.cn
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