문자열 중에서 한글/한자/일어 찾는 정규식

2010. 3. 23. 15:36·Computing

아래는 http://kais.tistory.com 블로그에서 퍼온 내용입니다. 더 많은 내용은 http://kais.tistory.com 을 방문하세요.

정규식으로 이런 문자열을 체크하기 위해서는 유니코드 UTF-8로 인코딩 되어야 합니다.
인코딩 되어있지 않다면 iconv 를 통해 UTF-8로 변경하면 됩니다.
 
예제를 위해 한글/한자/일어를 검색을 통해 랜덤으로 뽑아왔습니다. ;;
이 예제에서는 영어나 특수문자를 제외한, '한글', '한자', '일어' 만 추출하는 것을 보여줍니다.

한자는 한국, 중국, 일본 공통으로 사용하는 것을 모은 것이라 일본에서 사용하는 한자를 검출할때는 '한자'와 '일어'를 같이 사용하면 됩니다.
유니코드는 한,중,일 한자를 통합해서 정의해서 따로 구분하려면 유니코드 목록을 참고하셔서 직접 구분하셔야 합니다. -_-;

한가지 주의할 점은 유니코드 문자열을 체크할 경우 u 옵션을 반드시 줘야 합니다.

view source
print?
//  예제 문자열
$content = "test content☆漢字〓韓國外交部對外稱, 應美方要求,韓國貿易部長金宗塤和美國貿易代表施瓦布本週一下午還舉行了一個「非正式磋商」。end◆ 日語〓慰謝料としてフルハウス(Full House)をあげるというィヨンジェの言葉に,ジウンは寝ても寝る事ができないで悩む。end◆ 한글〓해쉬(Hash)값 필터링 시스템(Filtering system)은 디지털 파일에 고유의 키 값을 매겨서 등록, 관리하는 것으로 저작권 침해 신고가 접수됐을 경우 이 키 값을 기준으로 검색, 침해 여부를 판단할 수 있는 방식이다. end★";
echo '<pre>';// PRE
  
//  한글
preg_match_all('!['
    .'\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}'
    .']+!u', $content, $match);
print_r($match);
  
//  한자
preg_match_all('!['
    .'\x{2E80}-\x{2EFF}'// 한,중,일 부수 보충
    .'\x{31C0}-\x{31EF}\x{3200}-\x{32FF}'
    .'\x{3400}-\x{4DBF}\x{4E00}-\x{9FBF}\x{F900}-\x{FAFF}'
    .'\x{20000}-\x{2A6DF}\x{2F800}-\x{2FA1F}'// 한,중,일 호환한자
    .']+!u', $content, $match);
print_r($match);
  
//  일어
preg_match_all('!['
    .'\x{3040}-\x{309F}'// 히라가나
    .'\x{30A0}-\x{30FF}'// 가타카나
    .'\x{31F0}-\x{31FF}'// 가타카나 음성 확장
    .']+!u', $content, $match);
print_r($match);
echo '</pre>';

'Computing' 카테고리의 다른 글

kisarbl 등록 문제 "DNS 에는 등록이 불가능한 IP를 포함하여 SPF Record가 작성되어 있으므로"  (0) 2010.04.27
외국 RBL 스팸등록 여부 확인 사이트  (0) 2010.04.07
Mozilla FireFox 에서 text-align:center....  (0) 2009.02.19
Developer Notes for prototype.js  (0) 2009.02.16
윈도우환경에서 php5 세팅시 php_oci8.dll 문제...  (0) 2009.01.20
'Computing' 카테고리의 다른 글
  • kisarbl 등록 문제 "DNS 에는 등록이 불가능한 IP를 포함하여 SPF Record가 작성되어 있으므로"
  • 외국 RBL 스팸등록 여부 확인 사이트
  • Mozilla FireFox 에서 text-align:center....
  • Developer Notes for prototype.js
머냥
머냥
(날아보기도전에 인생추락... 그러나 포기는 없다.)
  • 머냥
    Frody's
    머냥
  • 전체
    오늘
    어제
    • 분류 전체보기 (88)
      • 사진관 (0)
        • 죄지은영혼 (0)
      • 스크랩북 (10)
        • 사진 (1)
        • 기사 (1)
        • 기타 (8)
      • 긁적임 (0)
      • 취미 (1)
      • Computing (69)
        • Typescript Study (0)
        • Linux (35)
        • MySQL (5)
        • java/jsp (4)
        • Flex (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • 쉘스크립트메뉴얼
    • Cron 설정
    • 루비강좌 (Ruby)
    • 루비 강좌(Wiki)
    • 회계기초 동영상
    • 서버DNS점검
    • 정규식 프로그램 RegexBuddy 소개
    • spamassasin 관련 설명블로그
    • spamassasin 관련 #2
    • spamassasin 관련 #3
    • soap 간단예제관련
    • php smarty 한글메뉴얼
    • 파이썬강좌
    • 가덕도 방문기
    • 기업용주가정보 무료제공
    • 페이스북 글등록
    • axigen메일
    • 야후신고센터.
    • postfix 환경설정
  • 공지사항

  • 인기 글

  • 태그

    BIND
    요리
    윤도현의 러브레터
    스트리밍
    Auqa Data
    Linux
    프로그래밍
    프리시즌
    imap
    ssh
    연주
    FLV
    ffmpeg
    php
    freeTDS
    MySQL
    모비딕
    동영상
    김동률
    오라클
    Subversion
    명령어
    MSSQL
    골
    김동욱
    tar
    Qmail
    휴대폰
    김두현
    디워
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
머냥
문자열 중에서 한글/한자/일어 찾는 정규식
상단으로

티스토리툴바