2014년 11월 26일 수요일

[PHP] 정규 표현식으로 한글 문자 포함하는지 확인하기


PHP의 정규표현식(RegEx) 함수 중 하나인 preg_match_all()을 사용하여 문장 내 한글 문자열이 포함되는지 검사하는 예제

유니코드 한글 문자열 정규식은 다음과 같다.

![\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]+!u

Code

<?php
// Regular Expression Test

$string = '한글 and English 또한글';    // utf-8 인코딩이 되어있지 않다면 변환 필요

if ( preg_match_all('![\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]+!u', $string, $match) ) {
    var_dump($match);
}
else {
    echo 'No Korean characters';
}

?>


결과 화면에서는 조건에 매칭되는 문자열을 배열에 담아 반환하고 있다.

Result

array(1) { [0]=> array(2) { [0]=> string(6) "한글" [1]=> string(9) "또한글" } }

댓글 없음:

댓글 쓰기