Advertisement
phpist

Untitled

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