Advertisement
phpist

Untitled

Oct 21st, 2019
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. Объясните этот вывод на экран
  2.  
  3.  
  4. <?php ## Различные флаги preg_match_all().
  5. header("Content-type: text/plain");
  6. $flags = [
  7. "PREG_PATTERN_ORDER",
  8. "PREG_SET_ORDER",
  9. "PREG_SET_ORDER|PREG_OFFSET_CAPTURE",
  10. ];
  11. $re = '|<(\w+).*?>(.*?)</\1>|s';
  12. $text = "<b>текст</b> и еще <i>другой текст</i>";
  13. echo "Строка: $text\n";
  14. echo "Выражение: $re\n\n";
  15. foreach ($flags as $name) {
  16. preg_match_all($re, $text, $mathces, eval("return $name;"));
  17. echo "Флаг $name:\n";
  18. print_r($mathces);
  19. echo "\n";
  20. }
  21. ?>
  22.  
  23.  
  24. Строка: <b>текст</b> и еще <i>другой текст</i>
  25. Выражение: |<(\w+).*?>(.*?)</\1>|s
  26.  
  27. Флаг PREG_PATTERN_ORDER:
  28. Array
  29. (
  30. [0] => Array
  31. (
  32. [0] => <b>текст</b>
  33. [1] => <i>другой текст</i>
  34. )
  35.  
  36. [1] => Array
  37. (
  38. [0] => b
  39. [1] => i
  40. )
  41.  
  42. [2] => Array
  43. (
  44. [0] => текст
  45. [1] => другой текст
  46. )
  47.  
  48. )
  49.  
  50. Флаг PREG_SET_ORDER:
  51. Array
  52. (
  53. [0] => Array
  54. (
  55. [0] => <b>текст</b>
  56. [1] => b
  57. [2] => текст
  58. )
  59.  
  60. [1] => Array
  61. (
  62. [0] => <i>другой текст</i>
  63. [1] => i
  64. [2] => другой текст
  65. )
  66.  
  67. )
  68.  
  69. Флаг PREG_SET_ORDER|PREG_OFFSET_CAPTURE:
  70. Array
  71. (
  72. [0] => Array
  73. (
  74. [0] => Array
  75. (
  76. [0] => <b>текст</b>
  77. [1] => 0
  78. )
  79.  
  80. [1] => Array
  81. (
  82. [0] => b
  83. [1] => 1
  84. )
  85.  
  86. [2] => Array
  87. (
  88. [0] => текст
  89. [1] => 3
  90. )
  91.  
  92. )
  93.  
  94. [1] => Array
  95. (
  96. [0] => Array
  97. (
  98. [0] => <i>другой текст</i>
  99. [1] => 29
  100. )
  101.  
  102. [1] => Array
  103. (
  104. [0] => i
  105. [1] => 30
  106. )
  107.  
  108. [2] => Array
  109. (
  110. [0] => другой текст
  111. [1] => 32
  112. )
  113.  
  114. )
  115.  
  116. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement