Проблема с парсером

penguen

Постоялец
Регистрация
7 Янв 2007
Сообщения
842
Реакции
109
Добрый день нужна помощь.
Проблема - Пишу свой парсер. Возникли кое какие нюансы.

Есть сайт
Скрытое содержимое доступно для зарегистрированных пользователей!

хочу для начала хотя б название товара забрать между тегами
<div class="bread_crumbs">*</div>
Не получается, ругулярку такую пишу
preg_match('|<div class="bread_crumbs">*</div>|',$html,$list);

Естественно входящий $html есть код
 
А ты не смотрел в сторону PHP Simple HTML DOM Parser?
Я думаю с ним парсить будет проще.
Для просмотра ссылки Войди или Зарегистрируйся
Почитай доку по нему.
 
Последнее редактирование:
Те же яйца только в профиль, регулярки все равно нужны для чистки от левого кода и т.д.
 
Для начала не *, а (.*?)
preg_match('|<div class="bread_crumbs">(.*?)</div>|',$html,$list);
Затем можно вырезать ссылки примерно так
preg_replace('#<a[^>]* href=[^>]*?>.*?</a>#', '\\1\\2\\3', $list['1']);
и так далее..
 
Последнее редактирование:
ТС: Если ещё актуально - можешь глянуть в сторону Zend_Dom_Query.
Не знаю, как другим, а лично мне он нравится)


PHP:
$out = array();
$results = $dom->query('.bread_crumbus');
foreach ($results as $result) {
    $out[] = $result->nodeValue;
}

Что-то подобное. Писал по памяти, потому могут быть не точности. Но смысл ясен.
 
Назад
Сверху