Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > как правильно использовать preg_match_all


Автор: beginweb 23.8.2006, 18:26
Help me please.
Есть страничка которую я хочу загнать в массив, но ... Если ее "отформатировать" (в определённых местах проставить перенос строки), то что-то получается, а в таком виде как есть, ну никак smile(.
(_http://search.msn.com/news/results.aspx?q=www&FORM=QBNR)
использую preg_match_all ('/()(.*)()/i',  $contents, $out, PREG_SET_ORDER) для определения блока новостей.
Такое впечатление, что ф-ия отрабатывает не с последующего символа, а с последующей строки.

Автор: ewolf 23.8.2006, 18:59
Попробуй использовать модификатор m

http://www.php.net/manual/ru/reference.pcre.pattern.modifiers.php

Автор: beginweb 23.8.2006, 19:09
m - не помогаИт smile. Берёт элементом массива всю страничку (разбивать не хо). 

Автор: ewolf 23.8.2006, 19:45
Ну вообще-то неудивительно, по такой регулярке

/()(.*)()/i

Ты же все символы сразу захватываешь.

Объясни подробнее, что ты хочешь выделить

Автор: beginweb 23.8.2006, 20:08
регулярка такова :

нужно определить ньюсы, которые есть на сайте.

Тобиш мне нужно "захватить" ссылки и краткие сведения о содержании.
Я пытаюсь сделать preg_match_all ('/(<h3)(.*)(\/h3>)/m',  $contents, $out);
Но масссив  не правильно заполняется. (выводится вся сраничка без разделения по новостям print_r ($out)
.На выходе -  Элемент массива - вся страница.
Может я не правильно определяю "начало" ->"конец блока". ? // - как правильно  енто сделать ??? -//

Автор: $дмитрий 23.8.2006, 20:47
смотри, к примеру нужно получить все содержимое между <h3> и </h3>б пишем
Код

preg_match_all ('#<h3>(.*?)</h3>#is',  $contents, $out);


а вообще нужно разобратся между чем и чем нужно выдрать

Автор: faost 24.8.2006, 02:34
Как я понял, тебе нужно составить регулярное выражение, которое будет выдирать новости с http://search.msn.com/news/results.aspx?q=www&FORM=QBNR ?

Автор: beginweb 24.8.2006, 10:18
Дмитрий, спасибо. Всё получилось

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)