phpist

Untitled

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