2017-02-23 1 views
2

모든 조건 교체는 기반는 preg_match 어떤

preg_match('/^[\p{Cyrillic}]+$/', $str) 

반환 0 또는 1처럼 보인다.

$strANY 키릴 문자가 포함 된 경우 기반이 필요합니다.

감사합니다.

답변

1

당신은 사용할 수 있습니다 : 입력 문자열이 어떤 Cyrillic 문자가 포함 아닌지

$ret = preg_match('/\p{Cyrillic}/u', $str); 

가 파악하는 당신이 어떤 경기를 찾고 있기 때문에, 문자 클래스 []+이 필요하지 않습니다. 유니 코드 문자열 입력을 처리하려면 /u 플래그가 필요합니다.

또는 같은 멀티 바이트 정규식 일치 mb_ereg function를 사용

$str = 'БДКЯ'; // string with Cyrillic characters only 

// check with Cyrillic string only 
var_dump(mb_ereg('\p{Cyrillic}', $str)); // int(1) 

// check with mix of Cyrillic and ASCII characters 
var_dump(mb_ereg('\p{Cyrillic}', $str . 'abc')); // int(1) 

// check with ASCII characters only 
var_dump(mb_ereg('\p{Cyrillic}', 'abc')); // bool(false) 
1

앵커 ^$은 문자열의 처음부터 끝까지 문자가 일치하도록 강제로 제거하십시오.

/\p{Cyrillic}/