문자열 매칭 확인과 매칭 문자 배열 반환(PCRE) - int preg_match ( string $pattern , string $subject )
2014. 1. 12. 18:28
- <?php
- $dates[] = "2014-01-12";
- $dates[] = "2014a-01-12";
- $dates[] = "2014-011-12";
- $dates[] = "2014-011-121";
- foreach($dates as $date){
- if(preg_match("/([0-9]{4})[-]([0-9]{1,2})[-]([0-9]{1,2})/", $date, $regs)){
- echo"$regs[3].$regs[2].$regs[1]"."<br>\n";
- }
- else{
- echo "Invalid date format: $date"."<br>\n";
- }
- }
- /*날짜 출력
- 12.01.2014
- Invalid date format: 2014a-01-12
- Invalid date format: 2014-011-12
- Invalid date format: 2014-011-121
- */
- $invalue[] = "a1-pp-7";
- $invalue[] = "a1-p-7";
- $invalue[] = "a-pp-7";
- $invalue[] = "a*-pp-7";
- $invalue[] = "a1-p1-7";
- $invalue[] = "a1-pp-c";
- foreach($invalue as $value){
- if(preg_match("/([a-z|0-9]{2})[-]([a-z]{1,2})[-]([0-9]{1})/",
- $value, $outArray)){
- echo "Ok format: $outArray[1]-$outArray[2]-$outArray[3]"."<br>\n";
- }
- else{
- echo "No format: $value"."<br>\n";
- }
- }
- /*invalue 출력
- Ok format: a1-pp-7
- Ok format: a1-p-7
- No format: a-pp-7
- No format: a*-pp-7
- No format: a1-p1-7
- No format: a1-pp-c
- */
- ?>
--------------------------------------------------------------------------------------------
7.28. 라인
$string문자열이 매칭되면 TRUE 값을 반환합니다. (1값 반환)
불매칭이면 FALSE 값을 반환합니다.(NULL값 반환)
또한 &$regs인자를 추가하면 매칭인 $string문자열을 배열에 추가하여 반환합니다.
대소문자를 구분합니다.
비슷한 함수로는 preg_match_all()함수가 있습니다.