Maison >développement back-end >Problème PHP >PHP peut-il déterminer si une chaîne est chinoise ?
Vous pouvez juger. Méthode de jugement : 1. Utilisez la fonction preg_match() avec l'expression régulière pour déterminer si elle est entièrement chinoise, la syntaxe est "!preg_match("/[^x80-xff]/i",$str)" ; la fonction preg_match() avec l'expression régulière Pour déterminer si elle contient du chinois, la syntaxe est "preg_match("/[x7f-xff]/", $str)" ou "preg_match('/[^x00-x80]/' ,$str)".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur DELL G3
php peut déterminer si une chaîne est chinoise, principalement en utilisant le chinois correspondant régulier pour déterminer.
Le jugement peut être divisé en deux situations :
La chaîne est entièrement composée de caractères chinois
La chaîne contient du chinois
Cas 1 : Le jugement est entièrement chinois
Moi méthode : preg_match ( ) fonction + expression régulière "/[^x80-xff]/i
"/[^x80-xff]/i
”
<?php header('content-type:text/html;charset=utf-8'); $str = "12hello13"; $str="'324是"; if(!preg_match("/[^\x80-\xff]/i",$str)){ echo "全是中文,是中文字符串"; }else{ echo "不是中文字符串"; } ?>
情况2:判断含有中文
方法1:preg_match()函数+正则表达式“/[x7f-xff]/
”
<?php header('content-type:text/html;charset=utf-8'); $str = "中文"; if (preg_match("/[\x7f-\xff]/", $str)) { echo "含有中文"; }else{ echo "没有中文"; } ?>
方法2:preg_match()函数+正则表达式“/[^x00-x80]/
<?php header('content-type:text/html;charset=utf-8'); $str = "1234"; $pattern = '/[^\x00-\x80]/'; if(preg_match($pattern,$str)){ echo "含有中文"; }else{ echo "没有中文"; } ?>Cas 2 : Déterminer s'il contient du chinois
Méthode 1 : fonction preg_match() + expression régulière "/ [x7f-xff]/
”
preg_match($pattern,$subject [, &$matches [, $flags = 0 [, $offset = 0 ]]])
Méthode 2 : fonction preg_match() + expression régulière "/[^x00-x80]/
"
La description du paramètre est la suivante :
$pattern : le pattern à rechercher, qui est l'expression régulière éditée ;
$subject : la chaîne à rechercher ;
$matches : paramètre facultatif (type de tableau), si $matches est fourni, il sera renseigné comme résultat de recherche. $matches[0] contient le texte correspondant au modèle complet, $matches[1] contient le texte correspondant au premier sous-groupe de capture, et ainsi de suite
$flags : paramètre facultatif, $flags peut être défini comme PREG_OFFSET_CAPTURE ; . Si cette balise est passée, pour chaque occurrence d'une correspondance, le décalage de chaîne (par rapport à la chaîne cible) sera ajouté au retour
🎜🎜🎜$offset : paramètre facultatif, utilisé pour spécifier le point de départ ; position dans la chaîne cible pour lancer la recherche (l'unité est en octets). La fonction 🎜🎜🎜🎜preg_match() peut renvoyer le nombre de correspondances pour $pattern, sa valeur sera 0 fois (pas de correspondance) ou 1 fois, car preg_match() arrêtera de chercher après la première correspondance. 🎜🎜Apprentissage recommandé : "🎜Tutoriel vidéo PHP🎜"🎜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!