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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Регулярные выражения

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Evgen8
Отправлено: 24 Июня, 2012 - 19:41:48
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




U (PCRE_UNGREEDY)
Этот модификатор инвертирует жадность квантификаторов, таким образом они по умолчанию не жадные.
***************************************
Эммм...Что-то не совсем понятно. Можно как-то проще объяснить.
 
 Top
Данил_123
Отправлено: 24 Июня, 2012 - 20:51:43
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




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..


-----
http://mysitecost.ru
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB