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 |