PHP에서는 정규식 "/[x{4e00}-x{9fff}]+/u"와 preg_match_all() 함수를 사용하여 한자만 일치시킬 수 있으며 구문 "preg_match_all("/[x{ 4e00}- x{9fff}". preg_match_all() 함수는 문자열에서 정규 표현식과 일치할 수 있는 모든 결과를 검색합니다. "/[x{4e00}-x{9fff}]+/u"를 사용하면 다음을 수행할 수 있습니다. 문자열을 필터링하고 중국어 문자만 가져옵니다.
이 튜토리얼의 운영 환경: windows7 시스템, PHP8 버전, DELL G3 컴퓨터
PHP에서는 정규식 "/[x"를 사용할 수 있습니다. {4e00}-x{9fff} ]+/u
" 및 preg_match_all() 함수를 사용하여 한자만 일치시킵니다. /[x{4e00}-x{9fff}]+/u
”和preg_match_all()函数来只匹配汉字。
preg_match_all()函数会搜索字符串中所有可以和正则表达式匹配的结果
preg_match_all(pattern,subject,matches,flags,offset)
参数说明如下:
preg_match_all() 函数可以返回 pattern 的匹配次数(可能是 0),如果发生错误则返回 FALSE。
preg_match_all()函数配合正则表达式“
preg_match_all() 함수는 문자열에서 일반 문자와 일치할 수 있는 모든 결과를 검색합니다. 표현식/[x{4e00}-x{9fff}]+/u
<?php header("Content-type:text/html;charset=utf-8"); $str = "欢迎4546来到php这里。zblog,我的?#$%^天呀&())*(&^"; echo $str; preg_match_all("/[\x{4e00}-\x{9fff}]+/u","$str",$arr); var_dump($arr); ?>
매개변수 설명은 다음과 같습니다. pattern: 검색할 패턴, 즉 정의된 정규 표현식
subject: 검색할 문자열
matches: 선택적 매개변수(다차원) 배열), 일치하는 모든 결과를 저장하는 데 사용됨, 배열 정렬 $flags로 지정됨 flags: 다음 태그와 함께 사용할 수 있는 선택적 매개변수(PREG_PATTERN_ORDER 및 PREG_SET_ORDER는 동시에 사용할 수 없음): < ul>PREG_PATTERN_ORDER: 결과는 $matches[0]로 정렬되어 전체 패턴의 모든 일치 항목을 저장하고, $matches[1]은 첫 번째 하위 그룹의 모든 일치 항목을 저장하는 식으로 진행됩니다.
PREG_SET_ORDER: 결과는 $로 정렬됩니다. match[0]에는 첫 번째 일치에서 얻은 모든 일치(하위 그룹 포함)가 포함되고, $matches[ 1]은 두 번째 일치에서 발견된 모든 일치(하위 그룹 포함)가 포함된 배열입니다.PREG_OFFSET_CAPTURE: 이 플래그가 전달되는 경우 , 발견된 각 일치 항목은 대상 문자열을 기준으로 한 오프셋과 함께 반환됩니다. Shift 이렇게 하면 $matches의 각 일치 결과 문자열 요소가 변경되어 0번째 요소가 일치 결과 문자열이 되고 첫 번째 요소가 해당 문자열의 오프셋이 됩니다.
offset: 선택적 매개변수인 $offset은 대상 문자열의 지정된 위치에서 검색을 시작하는 데 사용됩니다(단위는 바이트).preg_match_all() 함수는 개수를 반환할 수 있습니다. 패턴 일치(0일 수도 있음). 오류가 발생하면 FALSE가 반환됩니다.
preg_match_all() 함수는 정규 표현식 "/[x{4e00}-x{9fff}]와 함께 사용할 수 있습니다. +/u
"를 사용하여 문자열을 필터링하고 한자만 가져옵니다.
preg_match_all() 함수는 일치하는 함수 문자를 하나씩 배열에 저장합니다(배열은 세 번째 매개변수로 지정됩니다).
implode('',$arr[0])
implode(separator,array)
위 내용은 PHP에서 정규식을 사용하여 한자만 일치시키는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!