본문으로 바로가기

[PHP] Preg_match

category SECURITY/PHP 2017. 7. 16. 22:59


   Preg_match( )


preg_match( )는 문자열에 패턴을 검색하고, 패턴이 존재하면 TRUE값 반환해주고, 그렇지 않으면 FALSE값 반환해 줍니다.


preg_match( ) 사용법


1
2
3
4
5
6
7
8
9
<?
preg_match($pattern,$str,$match)
 
$pattern : 정규식 패턴 
$str : 추출할 문장 
$match : 추출된 값을 배열에 저장 
 
# 리턴값 : 0 (거짓) 또는 1(참)
?>
cs


정규표현식 모음


한글

"/[\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;

    }




'SECURITY > PHP' 카테고리의 다른 글

[PHP] 문자열 함수  (0) 2017.07.17
[PHP] 문자열 연산자  (0) 2017.07.17
[PHP] For, Foreach  (0) 2017.07.17