bug42945.phpt 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. --TEST--
  2. Bug #42945 (preg_split() swallows part of the string)
  3. --FILE--
  4. <?php
  5. var_dump(preg_match_all('/\b/', "a'", $m, PREG_OFFSET_CAPTURE));
  6. var_dump($m);
  7. var_dump(preg_split('/\b/', "a'"));
  8. var_dump(preg_split('/\b/', "a'", -1, PREG_SPLIT_OFFSET_CAPTURE));
  9. var_dump(preg_split('/\b/', "a'", -1, PREG_SPLIT_NO_EMPTY));
  10. var_dump(preg_split('/\b/', "a'", -1, PREG_SPLIT_NO_EMPTY|PREG_SPLIT_OFFSET_CAPTURE));
  11. ?>
  12. --EXPECT--
  13. int(2)
  14. array(1) {
  15. [0]=>
  16. array(2) {
  17. [0]=>
  18. array(2) {
  19. [0]=>
  20. string(0) ""
  21. [1]=>
  22. int(0)
  23. }
  24. [1]=>
  25. array(2) {
  26. [0]=>
  27. string(0) ""
  28. [1]=>
  29. int(1)
  30. }
  31. }
  32. }
  33. array(3) {
  34. [0]=>
  35. string(0) ""
  36. [1]=>
  37. string(1) "a"
  38. [2]=>
  39. string(1) "'"
  40. }
  41. array(3) {
  42. [0]=>
  43. array(2) {
  44. [0]=>
  45. string(0) ""
  46. [1]=>
  47. int(0)
  48. }
  49. [1]=>
  50. array(2) {
  51. [0]=>
  52. string(1) "a"
  53. [1]=>
  54. int(0)
  55. }
  56. [2]=>
  57. array(2) {
  58. [0]=>
  59. string(1) "'"
  60. [1]=>
  61. int(1)
  62. }
  63. }
  64. array(2) {
  65. [0]=>
  66. string(1) "a"
  67. [1]=>
  68. string(1) "'"
  69. }
  70. array(2) {
  71. [0]=>
  72. array(2) {
  73. [0]=>
  74. string(1) "a"
  75. [1]=>
  76. int(0)
  77. }
  78. [1]=>
  79. array(2) {
  80. [0]=>
  81. string(1) "'"
  82. [1]=>
  83. int(1)
  84. }
  85. }