<?
//Рассмотрим html-файл, где имеется
//следующая строка:
$str = "Привет ".
"
Текст, не заключенный в тег ".
"div
Пока";
// Если мы хотим найти текст,
// содержащийся между тегами div,
// естественно написать такой шаблон:
$pattern = "!.*!si";
// Но этот шаблон слишком "жадный"
// и захватит также и текст,
// заключенный в нашем примере между
// тегами
. Чтобы этого избежать,
// нужно написать следующий шаблон,
// отличающийся только наличием знака
// вопроса, который запрещает
// квантификатору быть "жадным".
$pattern1 = "!.*?!si";
// Запускаем поиск в строке $str
// совпадений с шаблонами
// $pattern и $pattern1
$s = preg_match_all ($pattern, $str,
$res);
$js = preg_match_all ($pattern1,
$str, $res1);
//выводим результаты поиска
// функция htmlspecialchars позволяет
// выводить html без
// его обработки браузером
echo "Жадный шаблон:".
htmlspecialchars($res[0][0]).
"
";
echo "Нежадный шаблон:".
htmlspecialchars($res1[0][0]);
?>