>  기사  >  백엔드 개발  >  문자열에 중국어 문자가 포함되어 있는지 확인하는 PHP 일반 방법 예

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

小云云
小云云원래의
2018-03-14 13:46:024320검색

이 기사에서는 문자열에 중국어 문자가 포함되어 있는지 확인하는 PHP 일반 방법의 예를 주로 공유합니다.

PHP는 문자열에 한자가 포함되어 있는지 정기적으로 확인합니다

첫 번째 방법:

if (preg_match("/[\x7f-\xff]/", $str)) {
    //echo "有中文";
}else{
    //echo "没有中文";
}

두 번째 방법:

  if(preg_match ("/[\x{4e00}-\x{9fa5}]/u", $keyword)){
        // 汉字
        $where['goods_name like'] =  '%'.$keyword.'%';
   }else{
        // 拼音
        $where['pinyin like'] =  '%'.strtolower($keyword).'%';
   }

오랜 시간 동안 온라인에서 검색했는데 대부분 java입니다. 및 js 메서드를 사용하지만 Java 및 js 메서드를 직접 사용하면 항상 오류가 발생합니다. 나중에

"4e00"과 "9fa5"의 양쪽을 각각 "{" 및 "}"로 래핑하고 작동한다는 것을 발견했습니다

여기서 주의할 점은 preg_match() 중국어 검증 시 /u

utf-8에서 한자를 일치시키기 위해 정규식을 사용하는 최종 올바른 표현을 알고 있습니다. PHP로 인코딩—— /^[x{4e00}-x{9fa5}]+$/u, 이제 문제가 어디에 있는지 알았으니, 다른 세부 규칙도 직접 변경할 수 있습니다

코드 조각 첨부

$str = "php入坑指南";
if (preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)) {
     print("该字符串全部是中文");
} else {
     print("该字符串不全部是中文");
}


도 첨부됩니다. 듀얼 바이트 문자 코딩 범위

1.GBK(GB2312/GB18030)
x00-XFF GBK 듀얼 바이트 인코딩 범위 중국어 gb2312
x80-xff 중국어 gbk

2.UTF-8(유니코드)u4e00-u9fa5(중국어)x3130-x318F(한국어
xAC00-xD7A3(한국어)
u0800- u4e00(일본어) * /

관련 추천:

js 처리 중국어 문자열 포함 예제 공유

php 중국어 문자열 가로채기 방법 예제 요약

PHP에서 중국어 문자가 포함된 url 함수 예제에 대한 자세한 설명

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.