Étapes de détection : 1. Utilisez preg_replace() avec des expressions régulières pour filtrer la chaîne et supprimer les lettres non chinoises dans la chaîne. La syntaxe est "preg_replace("/[^x{4E00}-x{9FFF}]+/. u" ,'', chaîne d'origine)" renverra une chaîne de filtre contenant toutes les lettres chinoises ; 2. Utilisez "===" pour déterminer si la chaîne de filtre est une chaîne vide, la syntaxe est "chaîne de filtre ==='' », s'il est égal à, la chaîne d'origine ne contient pas de caractères chinois, sinon la chaîne d'origine contient des caractères chinois.
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur DELL G3
En PHP, vous pouvez utiliser la fonction preg_replace() et l'opérateur "===" pour détecter si le la chaîne contient du chinois.
Étapes de mise en œuvre :
Étape 1 : Utilisez la fonction preg_replace() avec des expressions régulières pour filtrer les chaînes et supprimer les lettres non chinoises dans les chaînes
La fonction preg_replace() peut exécuter des expressions régulières Rechercher et replace ; utilisez simplement des expressions régulières pour rechercher des lettres non chinoises dans la chaîne et remplacez-les par des caractères vides ''
. ''
即可。
L'expression régulière est :正则表达式为:
/[^x{4E00}-x{9FFF}]+/u
/[^x{4E00}-x{9FFF}]+/u
$pattern = "/[^\x{4E00}-\x{9FFF}]+/u"; $newStr=preg_replace($pattern,'', $str);
renverra une chaîne filtrée contenant toutes les lettres chinoises
Étape 2 : Utilisez l'opérateur "===" pour déterminer si la chaîne filtrée est une chaîne vide$newStr===''
Code d'implémentation :
function f($str){ echo "原字符串:"; var_dump($str); $pattern = "/[^\x{4E00}-\x{9FFF}]+/u"; $newStr=preg_replace($pattern,'', $str); if($newStr===''){ echo "字符串中不包含中文
"; }else{ echo "字符串中包含中文
"; } }
$str1= 'php中文网!-=1548'; f($str1); $str2 = "123456"; f($str2);
Instructions :
preg_replace () fonction
preg_replace () La fonction peut effectuer une recherche et un remplacement d'expressions régulières. Il s'agit d'une puissante fonction de traitement de remplacement de chaîne. Le format de syntaxe de cette fonction est le suivant :
preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])
Si $subject est un tableau, la fonction preg_replace() renverra un tableau, sinon elle renverra une chaîne.
Si la fonction preg_replace() trouve une correspondance, elle renverra le $subject remplacé, sinon elle renverra le $subject inchangé. Chaque paramètre de la fonction preg_replace() (sauf le paramètre $limit) peut être un tableau. Si le paramètre $pattern et le paramètre $replacement sont tous deux des tableaux, la fonction traitera les clés dans l'ordre dans lequel elles apparaissent dans le tableau. Si une erreur se produit, NULL est renvoyé.
Le paramètre $replacement peut contenir des références arrière \n ou $n, cette dernière étant syntaxiquement préférée. Chacune de ces références sera remplacée par le texte capturé par le nième sous-groupe de capture correspondant. n peut être compris entre 0 et 99, \0 et $0 représentant le texte complet de correspondance de modèle.
La méthode de comptage des numéros de série pour capturer les sous-groupes est la suivante : le support gauche représentant le sous-groupe de capture est compté de gauche à droite, en commençant par 1. Si vous souhaitez utiliser des barres obliques inverses dans $replacement, vous devez utiliser 4 ("\\" car il s'agit d'abord d'une chaîne PHP, puis deux après l'échappement, et ensuite elle est considérée comme un texte original après passage par la barre oblique inverse du moteur d'expression régulière).
🎜Lorsque vous travaillez en mode remplacement et que la référence arrière doit être suivie d'un autre numéro (par exemple : ajouter un numéro d'origine immédiatement après un modèle correspondant), vous ne pouvez pas utiliser une syntaxe telle que \1 pour décrire la référence arrière. Par exemple, \11 empêchera preg_replace() de comprendre si vous voulez une référence arrière \1 suivie d'un 1 d'origine, ou une référence arrière \11 suivie de rien. La solution dans ce cas est d'utiliser ${1}1. Cela crée une référence arrière distincte pour $1, une référence arrière distincte pour la source 1. 🎜当使用被弃用的 e 修饰符时,这个函数会转义一些字符(即:'、"、\ 和 NULL)然后进行后向引用替换。当这些完成后请确保后向引用解析完后没有单引号或双引号引起的语法错误(比如:'strlen(\'$1\')+strlen("$2")')。确保符合 PHP 的字符串语法,并且符合 eval 语法。因为在完成替换后,引擎会将结果字符串作为 php 代码使用 eval 方式进行评估并将返回值作为最终参与替换的字符串。
恒等式(===)运算符
恒等式(===)运算符是进行给定变量或值之间的严格比较;它比较,并查看两个变量(表达式或常量)是否值相等且具有相同的数据类型,即两者都是字符串或两者都是整数等等。
如果两个变量(表达式或常量)包含相同的值和相同的数据类型,则此运算符返回true,否则返回false。
示例:
<?php header("content-type:text/html;charset=utf-8"); // 给变量赋整数值 $x = 999; echo '$x='.$x."<br>"; // 给变量赋字符串值 $y = '999'; echo '$y='.$y."<br>"; //比较$x 和$y if ($x === $y) echo '$x和$y相等'; else echo '$x和$y不相等'; ?>
输出:
说明:在上面的例子中,$ x和$ y的值相等但数据类型不同,因而返回false,执行else部分。
推荐学习:《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!