답변 3개
해당 코드는 한글이 아닌 UTF-8 문자열에서 3바이트 문자열 패턴을 찾는 정규식입니다.
만약 한글을 포함하는지 여부를 확인하려면 다음과 같이 수정하면 됩니다.
$str = "한글 포함여부' 확인";
if (preg_match("/[\x{AC00}-\x{D7AF}]+/u", $str))
echo "한글 포함";
else
echo "한글 없음";
결과 : 한글포함
$str = "zzzzzd’zdz";
if (preg_match("/[\x{AC00}-\x{D7AF}]+/u", $str))
echo "한글 포함";
else
echo "한글 없음";
결과 : 한글없음
위 코드에서는 preg_match() 함수를 사용하여 입력 문자열 $str 에서 한글이 포함되어 있는지 여부를 판별합니다. u 모드를 사용하여 유니코드 문자열을 처리하도록 지정하고, 정규식 패턴으로는 한글 유니코드 범위를 나타내는 \x{AC00}-\x{D7AF} 를 사용합니다.
해당 정규식 패턴은 유니코드 블록인 'Hangul Syllables'에 해당하는 한글 문자들을 포함합니다. 따라서 한글이 포함되어 있는지 여부를 판별할 수 있습니다.
참고 : 챗GPT
댓글을 작성하려면 로그인이 필요합니다.
php 5.3 이상이라면 (당연하겠지만)
if (preg_match("/[가-힣]+/", $str)){
echo "한글 포함";
} else {
echo "한글 없음";
}
완성형 기준으로 이렇게 가-힣 도 쓰입니다^^;
댓글을 작성하려면 로그인이 필요합니다.
chatGPT에게 짜 달라고 해봤습니다.
function check_korean($string) {
return preg_match('/[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]/u', $string);
}
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인