PHP에서 문자열에 중국어가 포함되어 있는지 확인하는 방법

青灯夜游
풀어 주다: 2023-03-16 21:12:02
원래의
6331명이 탐색했습니다.

탐지 단계: 1. 정규식과 함께 preg_replace()를 사용하여 문자열을 필터링하고 문자열에서 중국어가 아닌 문자를 제거합니다. 구문은 "preg_replace("/[^x{4E00}-x{9FFF}]+/입니다. u" ,'', 원래 문자열)"은 모든 중국어 문자를 포함하는 필터 문자열을 반환합니다. 2. "==="를 사용하여 필터 문자열이 빈 문자열인지 확인합니다. 구문은 "filter string ===''입니다. ”와 같으면 원래 문자열에 한자가 포함되지 않은 것이고, 그렇지 않으면 원래 문자열에 한자가 포함된 것입니다.

PHP에서 문자열에 중국어가 포함되어 있는지 확인하는 방법

이 튜토리얼의 운영 환경: 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

PHP에서 문자열에 중국어가 포함되어 있는지 확인하는 방법

$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 "字符串中包含中文
"; } }
로그인 후 복사

위 f($str) 함수 호출


$str1= 'php中文网!-=1548';
f($str1);
$str2 = "123456";
f($str2);
로그인 후 복사

PHP에서 문자열에 중국어가 포함되어 있는지 확인하는 방법

지침:

preg_replace() function

preg_replace () 이 함수는 정규식 검색 및 교체를 수행할 수 있는 강력한 문자열 대체 처리 함수입니다. 이 함수의 구문 형식은 다음과 같습니다.

preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])
로그인 후 복사

매개변수 설명은 다음과 같습니다.

    $pattern: 검색 대상은 문자 문자열 또는 문자열 배열일 수 있습니다.
  • $replacement: 대체할 문자열 또는 문자열 배열입니다. 이 인수가 문자열이고 $pattern이 배열이면 모든 패턴이 이 문자열로 대체됩니다. $pattern과 $replacement가 모두 배열인 경우 각 $pattern은 $replacement의 해당 요소로 대체됩니다. $pattern보다 $replacement에 요소가 더 적은 경우 추가 $pattern이 빈 문자열로 대체됩니다.
  • $subject: 검색하고 바꿀 문자열 또는 문자열 배열입니다. $subject가 배열인 경우 $subject의 각 요소에 대해 검색 및 바꾸기가 수행되고 반환 값도 배열이 됩니다.
  • $limit: 선택적 매개변수, 각 $subject의 패턴당 최대 대체 수입니다. 기본값은 -1(무한)입니다.
  • $count: 선택적 매개변수가 지정된 경우 완료된 대체 수로 채워집니다.
$subject가 배열이면 preg_replace() 함수는 배열을 반환하고, 그렇지 않으면 문자열을 반환합니다.

preg_replace() 함수가 일치하는 항목을 찾으면 대체된 $subject를 반환하고, 그렇지 않으면 변경되지 않은 $subject를 반환합니다. preg_replace() 함수의 각 매개변수($limit 매개변수 제외)는 배열일 수 있습니다. $pattern 매개변수와 $replacement 매개변수가 모두 배열인 경우 함수는 배열에 나타나는 순서대로 키를 처리합니다. 오류가 발생하면 NULL이 반환됩니다.

$replacement 매개변수에는 역참조 \n 또는 $n이 포함될 수 있으며, 구문상 후자가 선호됩니다. 이러한 각 참조는 일치된 n번째 캡처 하위 그룹에 의해 캡처된 텍스트로 대체됩니다. n은 0-99일 수 있으며, \0 및 $0은 텍스트와 일치하는 완전한 패턴을 나타냅니다.

하위 그룹 캡처의 일련 번호 계산 방법은 다음과 같습니다. 캡처 하위 그룹을 나타내는 왼쪽 괄호는 1부터 시작하여 왼쪽에서 오른쪽으로 계산됩니다. $replacement에 백슬래시를 사용하려면 4(먼저 PHP 문자열이므로 "\\", 이스케이프 후 2개, 정규식 엔진 백슬래시를 통과한 후 원본 텍스트로 간주되므로 "\\")를 사용해야 합니다.

대체 모드에서 작업하고 역참조 뒤에 다른 숫자가 와야 하는 경우(예: 일치하는 패턴 바로 뒤에 원래 숫자 추가) \1과 같은 구문을 사용하여 역참조를 설명할 수 없습니다. 예를 들어, \11은 preg_replace()가 \1 역참조 뒤에 원래 1이 오는지, 아니면 \11 역참조 뒤에 아무 것도 나오지 않는지 이해할 수 없게 만듭니다. 이 경우 해결책은 ${1}1을 사용하는 것입니다. 이렇게 하면 소스 1에 대한 별도의 역참조인 $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 &#39;$x=&#39;.$x."<br>"; 
// 给变量赋字符串值
$y = &#39;999&#39;; 
echo &#39;$y=&#39;.$y."<br>"; 
//比较$x 和$y 
if ($x === $y) 
    echo &#39;$x和$y相等&#39;; 
else
    echo &#39;$x和$y不相等&#39;; 
?>
로그인 후 복사

输出:

PHP에서 문자열에 중국어가 포함되어 있는지 확인하는 방법

说明:在上面的例子中,$ x和$ y的值相等但数据类型不同,因而返回false,执行else部分。

推荐学习:《PHP视频教程

위 내용은 PHP에서 문자열에 중국어가 포함되어 있는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿