1. <?php
  2.   $dates[] = "2014-01-12";
  3.   $dates[] = "2014a-01-12";
  4.   $dates[] = "2014-011-12";
  5.   $dates[] = "2014-011-121";
  6.   foreach($dates as $date){
  7.     if(preg_match("/([0-9]{4})[-]([0-9]{1,2})[-]([0-9]{1,2})/", $date, $regs)){
  8.       echo"$regs[3].$regs[2].$regs[1]"."<br>\n";
  9.     }
  10.     else{
  11.       echo "Invalid date format: $date"."<br>\n";
  12.     }
  13.   }
  14.   /*날짜 출력
  15.     12.01.2014
  16.     Invalid date format: 2014a-01-12
  17.     Invalid date format: 2014-011-12
  18.     Invalid date format: 2014-011-121
  19.   */
  20.   $invalue[] = "a1-pp-7";
  21.   $invalue[] = "a1-p-7";
  22.   $invalue[] = "a-pp-7";
  23.   $invalue[] = "a*-pp-7";
  24.   $invalue[] = "a1-p1-7";
  25.   $invalue[] = "a1-pp-c";
  26.   
  27.   foreach($invalue as $value){
  28.     if(preg_match("/([a-z|0-9]{2})[-]([a-z]{1,2})[-]([0-9]{1})/", 
  29.      $value, $outArray)){
  30.       echo "Ok format: $outArray[1]-$outArray[2]-$outArray[3]"."<br>\n";
  31.     }
  32.     else{
  33.       echo "No format: $value"."<br>\n";
  34.     }
  35.   }
  36.   /*invalue 출력
  37.     Ok format: a1-pp-7
  38.     Ok format: a1-p-7
  39.     No format: a-pp-7
  40.     No format: a*-pp-7
  41.     No format: a1-p1-7
  42.     No format: a1-pp-c
  43.   */
  44. ?>

--------------------------------------------------------------------------------------------


int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )


7.28. 라인

$pattern에 쓰여진 PCRE형식 정규 표현식과 

$string문자열이 매칭되면 TRUE 값을 반환합니다. (1값 반환)

불매칭이면 FALSE 값을 반환합니다.(NULL값 반환)


또한 &$regs인자를 추가하면 매칭인 $string문자열을 배열에 추가하여 반환합니다.

대소문자를 구분합니다.


비슷한 함수로는 preg_match_all()함수가 있습니다.

또한 ereg()함수도 비슷하나 $pattern이 POSIX 형식 정규 표현식 함수 입니다.

:
BLOG main image

공지사항

카테고리

분류 (356)
main (1)
php5 (218)
HTML (36)
javascript (93)
IT 이론과 퍼온정보 (8)
깨작일상 (0)
곧 추가할 내용 (0)
추후 알아볼것들... (0)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

달력

«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Total :
Today : Yesterday :