Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Регулярные выражения
Форумы портала PHP.SU » » Вопросы новичков » Регулярные выражения

Страниц (1): [1]
 

1. Evgen8 - 24 Июня, 2012 - 19:41:48 - перейти к сообщению
U (PCRE_UNGREEDY)
Этот модификатор инвертирует жадность квантификаторов, таким образом они по умолчанию не жадные.
***************************************
Эммм...Что-то не совсем понятно. Можно как-то проще объяснить.
2. Данил_123 - 24 Июня, 2012 - 20:51:43 - перейти к сообщению
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. //Рассмотрим html-файл, где имеется
  3. //следующая строка:
  4. $str = "<div id=1>Привет</div> ".
  5.   "<p>Текст, не заключенный в тег ".
  6.        "div</p><div id=2>Пока</div>";
  7. // Если мы хотим найти текст,  
  8. // содержащийся между тегами div,
  9. // естественно написать такой шаблон:
  10. $pattern = "!<div id=1>.*</div>!si";
  11. // Но этот шаблон слишком "жадный"  
  12. // и захватит также и текст,
  13. // заключенный в нашем примере между
  14. // тегами <p>. Чтобы этого избежать,
  15. // нужно написать следующий шаблон,
  16. // отличающийся только наличием знака
  17. // вопроса, который запрещает
  18. // квантификатору быть "жадным".
  19. $pattern1 = "!<div id=1>.*?</div>!si";
  20. // Запускаем поиск в строке $str
  21. // совпадений с шаблонами
  22. // $pattern и $pattern1
  23. $s = preg_match_all ($pattern, $str,
  24.                                $res);
  25. $js = preg_match_all ($pattern1,
  26.                         $str, $res1);
  27. //выводим результаты поиска
  28. // функция htmlspecialchars позволяет
  29. // выводить html без
  30. // его обработки браузером
  31. echo "Жадный шаблон:".
  32.       htmlspecialchars($res[0][0]).
  33.                               "<br>";
  34. echo "Нежадный шаблон:".
  35.        htmlspecialchars($res1[0][0]);
  36. ?>


Цитата:
"Жадный" шаблон:<div id=1>Привет</div>
<p>Текст,не заключенный в тег div</p>
<div id=2>Пока</div>
"Нежадный" шаблон:<div id=1>Привет</div>

google..

 

Powered by ExBB FM 1.0 RC1