001.phpt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. --TEST--
  2. abusing preg_match()
  3. --FILE--
  4. <?php
  5. foreach (array('2006-05-13', '06-12-12', 'data: "12-Aug-87"') as $s) {
  6. var_dump(preg_match('~
  7. (?P<date>
  8. (?P<year>(\d{2})?\d\d) -
  9. (?P<month>(?:\d\d|[a-zA-Z]{2,3})) -
  10. (?P<day>[0-3]?\d))
  11. ~x', $s, $m));
  12. var_dump($m);
  13. }
  14. ?>
  15. --EXPECT--
  16. int(1)
  17. array(10) {
  18. [0]=>
  19. string(10) "2006-05-13"
  20. ["date"]=>
  21. string(10) "2006-05-13"
  22. [1]=>
  23. string(10) "2006-05-13"
  24. ["year"]=>
  25. string(4) "2006"
  26. [2]=>
  27. string(4) "2006"
  28. [3]=>
  29. string(2) "20"
  30. ["month"]=>
  31. string(2) "05"
  32. [4]=>
  33. string(2) "05"
  34. ["day"]=>
  35. string(2) "13"
  36. [5]=>
  37. string(2) "13"
  38. }
  39. int(1)
  40. array(10) {
  41. [0]=>
  42. string(8) "06-12-12"
  43. ["date"]=>
  44. string(8) "06-12-12"
  45. [1]=>
  46. string(8) "06-12-12"
  47. ["year"]=>
  48. string(2) "06"
  49. [2]=>
  50. string(2) "06"
  51. [3]=>
  52. string(0) ""
  53. ["month"]=>
  54. string(2) "12"
  55. [4]=>
  56. string(2) "12"
  57. ["day"]=>
  58. string(2) "12"
  59. [5]=>
  60. string(2) "12"
  61. }
  62. int(1)
  63. array(10) {
  64. [0]=>
  65. string(8) "12-Aug-8"
  66. ["date"]=>
  67. string(8) "12-Aug-8"
  68. [1]=>
  69. string(8) "12-Aug-8"
  70. ["year"]=>
  71. string(2) "12"
  72. [2]=>
  73. string(2) "12"
  74. [3]=>
  75. string(0) ""
  76. ["month"]=>
  77. string(3) "Aug"
  78. [4]=>
  79. string(3) "Aug"
  80. ["day"]=>
  81. string(1) "8"
  82. [5]=>
  83. string(1) "8"
  84. }