시작에 앞서,
* 정규표현식에 대해 자세히 알고싶으신 분 or 정규표현식을 처음보시는 분은 아래 URL을 참고해주세요.
https://choseongho93.tistory.com/130
● preg_match() 형식 $result = preg_match($pattern, $subject) (preg_match()를 실행한 결과, 일치하면 1, 일치하지 않으면 0, 패턴을 인식하지못하는 오류발생하면 false가 return 됩니다.) |
$result1 = preg_match("/hello/u", "world"); // 불일치
$result2 = preg_match("/hello/u", "hello"); // 일치
$result3 = preg_match("/hellou", "hello world"); // 패턴오류발생
var_dump($result1);
var_dump($result2);
var_dump($result3);
패턴으로 /(슬래시)와 / 안에 hello 문자를 넣고, 후자 파라미터로 "world"를 넣었습니다.
하지만, "hello"를 넣은 두번째 변수는 hello와 일치하여 1이 return 됩니다.
$result1은 불일치가 발생하고, $result2는 일치됩니다. 마지막 $result3는 패턴오류로 "false" 발생합니다.
(u 키워드는 패턴문자를 UTF-8 인코딩으로 다루어주는 '후치 option'입니다.)
// 개발자와 일치한다.
$pattern = "/개발자/u";
var_dump(preg_match($pattern,"제 직업은 경찰관입니다."));
var_dump(preg_match($pattern,"제 직업은 크리에이터입니다."));
var_dump(preg_match($pattern,"제 직업은 개발자입니다."));
$pattern 변수에 원하는 정규표현식 패턴을 선언해줍니다.
개발자와 일치하는 마지막만 1이 출력됩니다.
$pattern = "/^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$/";
$myPhoneNumber = "010-1234-1234";
$yourPhoneNumber = "013-1234-1234";
var_dump(preg_match($pattern,$myPhoneNumber));
var_dump(preg_match($pattern,$yourPhoneNumber));
$pattern 변수에 휴대폰 정규표현식을 선언해주었습니다.
나의 폰번호는 010으로 시작하기에 1이 출력됩니다.
하지만, 너의 폰번호는 013으로 시작하기에 정규표현식에서 맞지않아 0이 출력됩니다.
'Programming Language > PHP' 카테고리의 다른 글
[PHP] ini_set() 함수 (0) | 2020.01.05 |
---|---|
[PHP] addslashes (), stripslashes () 와 get_magic_quotes_gpc ()함수 (0) | 2020.01.04 |
[PHP] 첫 문자를 대문자로 치환하는 함수 - unfirst (0) | 2019.12.15 |
[PHP] 폼 입력 처리의 기본 ( GET, POST로 송수신하기 ) (0) | 2019.11.17 |
[PHP] URL인코딩 & 디코딩 (0) | 2019.09.13 |
[PHP] 배열의 요소 삭제 & 치환 & 연결과 분리, 중복제거 (array_merge, array_combine, array_unique 등) (0) | 2019.09.12 |
[PHP] 배열의 정의 및 explode, implode, define함수 (0) | 2019.09.11 |
[PHP] sprintf(), vprintf(), number_format() (0) | 2019.09.10 |