Парсер HTML

Рейтинг: 0Ответов: 2Опубликовано: 27.03.2015

Здравствуйте. Я написал парсер для данного сайта: http://olx.ua/nedvizhimost/prodazha-kvartir/ (НЕ РЕКЛАМА)

ignore_user_abort(1);

$content = file_get_contents('http://olx.ua/nedvizhimost/prodazha-kvartir/');
ini_set('display_errors', 1);

// <table id="offers_table" class="fixed offers breakword" summary="" cellpadding="0" cellspacing="0" width="100%">BLALDKALSDKLASKLDSADASDASD</table>

$file = preg_match_all('<table id=\"offers_table\" class=\"fixed offers breakword\" summary=\"\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">(.*)<\/table>', $str, $arr);

var_dump($arr);

Собственно, он не работает. Мне нужно так, чтобы при добавлении нового обьявления высылалось письмо на почту. Я думаю, что можно просто каждую минуту парсить и сравнивать первое объявление со старым "первым объявлением", записаным в переменную. Но не суть. Главное, что данный код выдает это:

Warning: preg_match_all(): Unknown modifier '(' in E:\Work\OpenServer\domains\teststealer.alex\script.php on line 10 NULL

Помогите с решением.

Ответы

▲ 1Принят

Забыл крайние символы, например !RegExp!.
Вот рабочее:

$file = preg_match_all('!<table id=\"offers_table\" class=\"fixed offers breakword\" summary=\"\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">(.*)<\/table>!', $str, $arr);
▲ 1

Используй лучше библиотеку simple_html_dom.php, чтобы парсить сайты, там никаких регулярок не нужно, за тебя уже всё придумали!

http://ruseller.com/lessons.php?id=639