본문 바로가기

PHP 문장에 포함된 기호나 숫자등을 추출하기

반응형

문장에 존재하는 숫자나 기호를 추출하기 위한 함수로써 preg_match()가 있다.

  preg_match()

preg_match($pattern,$str,$match)


$pattern : 정규식 패턴
$str : 추출할 문장
$match : 추출된 값을 배열에 저장

리턴값 : 0 (거짓) 또는 1(참)

  정규식 패턴(정규표현식)들 모음
한글
"/[\xA1-\xFE\xA1-\xFE]/";
 '{\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}'

영문
'/[a-zA-Z]/';

숫자
'/[0-9]/';

특수기호
'/[!#$%^&*()?+=\/]/';

한글과 영어를 제외한 것들
'/[^\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}a-zA-Z\s]+/u'

한글단어들 중 영문이 1음절 포함 된 것들
$hanPattern =  '{\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}';
   if(preg_match_all('/[a-zA-Z]/',$token,$m)==1 && preg_match('/['.$hanPattern.']+/u', $token,$m) ? true : false) {
    echo $token . "<br/>" ;
   }else  return true;

문자클래스들
[[:alnum:]] : 알파벳 문자, 숫자
[[:alpha:]] : 알파벳
[[:lower:]] : 소문자
[[:upper:]] : 데문자
[[:digit:]] : 10진수
[[:xdigit:]] : 16진수
[[:punct:]] : 구두점
[[:blank:]] : 탭, 스페이스
[[:space:]] : 공백 문자
[[:print:]] : 출력 가능한 문자
[[:graph:]] : 스페이스를 제외한 모든 출력 가능 문자

    if($key =~ /[[:punct:]]/)
    {
           next;
    }

반응형

댓글


Copyright ⓒ SmartWeb All rights reserved.