Не получается написать регулярное выражение

A
На сайте с 04.10.2012
Offline
15
671

Пытаюсь вытащить текст,находящийся внутри тегов <pre></pre>

Использую функцию $count = preg_match_all('~<pre>(.+?)</pre>~',$page,$description);

Ничего не находит,хотя насколько я понял (.+?) запоминает подстроку.

Если написать $count = preg_match_all('~<pre>(.+?)~',$page,$description); То выведет только первый символ подстроки.

Прошу помощи :)

IL
На сайте с 20.04.2007
Offline
435
#1

'~<pre>(.*)</pre>~isU'

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
A
На сайте с 19.07.2010
Offline
130
#2


preg_match_all('%<pre>(.*?)</pre>%is', $page, $mm);
print_r($mm[1]);

.............
A
На сайте с 04.10.2012
Offline
15
#3

А что это означает? Объясните если не трудно

$count = preg_match_all('~<a href="/torrent/(.+?)" class=~',$str,$urls); Вот с такой конструкцией все почему-то работало

A
На сайте с 19.07.2010
Offline
130
#4
Agronya:

$count = preg_match_all('~<a href="/torrent/(.+?)" class=~',$str,$urls);

частично работало...

1. эта конструкция не подхватит большие буквы, т.е. если встретится хоть одна большая буква, например <a Href= или <A href=

поэтому нужно указывать модификатор i

2. блок <pre> может содержать переводы строки, поэтому нужен модификатор s

siv1987
На сайте с 02.04.2009
Offline
427
#5
Апокалипсис
На сайте с 02.11.2008
Offline
391
#6

http://php.spb.ru/php/regexp.html вот примеры неплохие, правда устарели.

Записки нищего (http://zapiskinishego.ru) - мой личный блог Услуги php программиста. Очень нужна любая работа. Не покупают? Поведенческий аудит интернет-магазина за 5000 руб. (/ru/forum/990312)
Ragnarok
На сайте с 25.06.2010
Offline
226
#7

preg_match_all('%<pre>(.*?)</pre>%smi', $page, $mm);

die(VAR_DUMP($mm[1]));

---------- Добавлено 28.10.2012 в 14:07 ----------

регулярка учитывает переводы строк и прочие ништяки

//TODO: перестать откладывать на потом

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий