003.phpt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. --TEST--
  2. abusing preg_match_all()
  3. --FILE--
  4. <?php
  5. foreach (array(PREG_PATTERN_ORDER, PREG_SET_ORDER) as $flag) {
  6. var_dump(preg_match_all('~
  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',
  12. '2006-05-13 e outra data: "12-Aug-37"', $m, $flag));
  13. var_dump($m);
  14. }
  15. ?>
  16. --EXPECT--
  17. int(2)
  18. array(10) {
  19. [0]=>
  20. array(2) {
  21. [0]=>
  22. string(10) "2006-05-13"
  23. [1]=>
  24. string(9) "12-Aug-37"
  25. }
  26. ["date"]=>
  27. array(2) {
  28. [0]=>
  29. string(10) "2006-05-13"
  30. [1]=>
  31. string(9) "12-Aug-37"
  32. }
  33. [1]=>
  34. array(2) {
  35. [0]=>
  36. string(10) "2006-05-13"
  37. [1]=>
  38. string(9) "12-Aug-37"
  39. }
  40. ["year"]=>
  41. array(2) {
  42. [0]=>
  43. string(4) "2006"
  44. [1]=>
  45. string(2) "12"
  46. }
  47. [2]=>
  48. array(2) {
  49. [0]=>
  50. string(4) "2006"
  51. [1]=>
  52. string(2) "12"
  53. }
  54. [3]=>
  55. array(2) {
  56. [0]=>
  57. string(2) "20"
  58. [1]=>
  59. string(0) ""
  60. }
  61. ["month"]=>
  62. array(2) {
  63. [0]=>
  64. string(2) "05"
  65. [1]=>
  66. string(3) "Aug"
  67. }
  68. [4]=>
  69. array(2) {
  70. [0]=>
  71. string(2) "05"
  72. [1]=>
  73. string(3) "Aug"
  74. }
  75. ["day"]=>
  76. array(2) {
  77. [0]=>
  78. string(2) "13"
  79. [1]=>
  80. string(2) "37"
  81. }
  82. [5]=>
  83. array(2) {
  84. [0]=>
  85. string(2) "13"
  86. [1]=>
  87. string(2) "37"
  88. }
  89. }
  90. int(2)
  91. array(2) {
  92. [0]=>
  93. array(10) {
  94. [0]=>
  95. string(10) "2006-05-13"
  96. ["date"]=>
  97. string(10) "2006-05-13"
  98. [1]=>
  99. string(10) "2006-05-13"
  100. ["year"]=>
  101. string(4) "2006"
  102. [2]=>
  103. string(4) "2006"
  104. [3]=>
  105. string(2) "20"
  106. ["month"]=>
  107. string(2) "05"
  108. [4]=>
  109. string(2) "05"
  110. ["day"]=>
  111. string(2) "13"
  112. [5]=>
  113. string(2) "13"
  114. }
  115. [1]=>
  116. array(10) {
  117. [0]=>
  118. string(9) "12-Aug-37"
  119. ["date"]=>
  120. string(9) "12-Aug-37"
  121. [1]=>
  122. string(9) "12-Aug-37"
  123. ["year"]=>
  124. string(2) "12"
  125. [2]=>
  126. string(2) "12"
  127. [3]=>
  128. string(0) ""
  129. ["month"]=>
  130. string(3) "Aug"
  131. [4]=>
  132. string(3) "Aug"
  133. ["day"]=>
  134. string(2) "37"
  135. [5]=>
  136. string(2) "37"
  137. }
  138. }