[PHP]문자열에서 한글과 영문자만 추출하기

임의의문자열에서 한글과 영문자 알파벳만 추출하는 함수입니다.

문자열이 utf-8로 인코딩되어있다고 가정합니다. 따라서 utf-8을 사용하고 있지 않다면 이 함수를 사용하기 전에 iconv 등을 이용해서 인코딩을 utf-8로 변경해주셔야 합니다.

function onlyHanAlpha($subject) {
    $pattern = '/([\xEA-\xED][\x80-\xBF]{2}|[a-zA-Z])+/';
    preg_match_all($pattern, $subject, $match);
    return implode('', $match[0]);
}

사용예는 다음과 같습니다.

$subject = '한글입니다.옆은 일본어日本最大級일본최대급?!@#!asdf91237  ad한글%#@$하하하^%&({}as23寒한문';
echo $subject;
echo "\n";
echo onlyHanAlpha($subject);

댓글을 남겨주세요

This site uses Akismet to reduce spam. Learn how your comment data is processed.