Регулярные выражения + preg_match + парсинг HTML

Статус
В этой теме нельзя размещать новые ответы.

ManManovich

Новичок
Приветствую!
Учу php всего месяц, возможно, буду появляться с глуповатыми вопросами, так что прошу сильно не пинать. :)

Пытаюсь научиться парсить HTML. Хочу выдрать href и title объявлений авито.

PHP:
<?php
$ch = curl_init ();
//curl_setopt ($ch , CURLOPT_URL , "http://www.xakep.ru/post/35410/default.asp");
curl_setopt ($ch , CURLOPT_URL , "http://www.avito.ru/catalog/all-0/moskva-637640?user=1");
curl_setopt ($ch , CURLOPT_USERAGENT , "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7");
curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 );
$content = curl_exec($ch);
curl_close($ch);
 
//preg_match_all("/<p>(.*)<br>\r\n<a href=\"(.*)\">.*<\/a><\/p>/isU", $content, $matches, PREG_PATTERN_ORDER);

preg_match("/<h3><a name=\".*\" href=\"(.*)\" title=\"(.*)\" itemprop=\".*\">.*<\/a><i><i><i>&nbsp;<\/i><\/i><\/i><\/h3>/isU", $content, $matches);

print_r($matches);
 
?>
Тут есть закомментированные строки, это когда-то был код по выдиранию того-же из сайта хаккерру. Стырен и отлично работает. Однако когда я подставляю свои значения, он затыкается на первом объявлении. Бошку сломал, но так и не понял почему. А если ещё не подставить флаг "PREG_PATTERN_ORDER", то ещё и ошибку выдаёт. Подскажите, пожалуйста, желательно на палцах, что не так.
 

tz-lom

Продвинутый новичок
на пальцах:
полное игнорирование правил форума
P.S.
учите PHP а не воруйте контент
 

AmdY

Пью пиво
Команда форума
Тема закрыта, воровство контента.
Для парсинга html применяйте специальные библиотеки, а не регулярки.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху