탐지 단계: 1. 정규식과 함께 preg_replace()를 사용하여 문자열을 필터링하고 문자열에서 중국어가 아닌 문자를 제거합니다. 구문은 "preg_replace("/[^x{4E00}-x{9FFF}]+/입니다. u" ,'', 원래 문자열)"은 모든 중국어 문자를 포함하는 필터 문자열을 반환합니다. 2. "==="를 사용하여 필터 문자열이 빈 문자열인지 확인합니다. 구문은 "filter string ===''입니다. ”와 같으면 원래 문자열에 한자가 포함되지 않은 것이고, 그렇지 않으면 원래 문자열에 한자가 포함된 것입니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터
PHP에서는 preg_replace() 함수와 "===" 연산자를 사용하여 문자열에 중국어가 포함되어 있습니다.
구현 단계:
1단계: 정규 표현식과 함께 preg_replace() 함수를 사용하여 문자열을 필터링하고 문자열에서 중국어가 아닌 문자를 제거합니다.
preg_replace() 함수는 정규 표현식을 실행할 수 있습니다. 바꾸기; 정규식을 사용하여 문자열에서 중국어가 아닌 문자를 검색하고 이를 빈 문자 ''
로 바꿉니다. ''
即可。
정규 표현식은 다음과 같습니다.正则表达式为:
/[^x{4E00}-x{9FFF}]+/u
/[^x{4E00}-x{9FFF}]+/u
$pattern = "/[^\x{4E00}-\x{9FFF}]+/u"; $newStr=preg_replace($pattern,'', $str);
는 모든 중국어 문자가 포함된 필터링된 문자열을 반환합니다
2단계: "===" 연산자를 사용하여 필터링된 문자열이 빈 문자열인지 확인$newStr===''
구현 코드:
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);
지침:
preg_replace() function
preg_replace () 이 함수는 정규식 검색 및 교체를 수행할 수 있는 강력한 문자열 대체 처리 함수입니다. 이 함수의 구문 형식은 다음과 같습니다.preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])
当使用被弃用的 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视频教程》
위 내용은 PHP에서 문자열에 중국어가 포함되어 있는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!