Php vérifier si la chaîne comporte des caractères Chinois
J'ai la chaîne $str
et je veux vérifier si c'est un contenu a des caractères Chinois ou non (true/false)
$str = "赕就可消垻,只有当所有方块都被消垻时才可以过关";
pouvez-vous svp m'aider?
Merci!
Adrian
- Ce jeu de caractères est-ce? UTF-8 ou de l'un des locaux?
- charset=utf-8
- double possible de Détecter les chinois (multi-octets) de caractères dans la chaîne de caractères
- J'ai essayé et ça ne fonctionne pas pour moi
- Vérifier si le texte ne contient certains caractères Chinois (avec d'autres non-caractères Chinois)? ou est entièrement composé de caractères Chinois?
- Baker la chaîne peut être Chinois à l'anglais par exemple
- Dans ce cas, l'utilisation de mario solution, et n'oubliez pas d'accepter sa réponse
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser un caractère unicode classe http://www.regular-expressions.info/unicode.html
Ce juste vérifie la présence d'au moins un caractère chinois. Vous pourriez vouloir étendre sur ce si vous voulez correspondre à l'intégralité de la chaîne.
PCRE_VERSION
devraient être inclus depuis PHP4.@mario
réponse est juste!Par les Chinois en caractères d'utiliser cette regex:
/[\x{4e00}-\x{9fa5}]+/u
Et N'oubliez pas le
u
modificateur!!!Sur
u
modificateur référenceTKS pour mario
Ce lien à une question précédente sur l'identification des Chinois simplifié ou traditionnel peut vous donner quelques idées... vous n'avez pas fait de spécifier que vous voulez dire, et je ne sais pas Chinois assez bien pour reconnaître la différence
Utilisation /^\p{Han}{2,10}+$/u regex qui permet de caractères Chinois seulement.
Vous pouvez changer de caractères minimale et maximale en changeant {2,10} selon votre besoin.
\p & /u sont très importants pour ajouter s'il vous plaît ne pas éviter l'ajouter.