Помогите написать парсер XHtml

194
.
Вообщем я пишу поискового робота, который заходит на страницы сайта и копирует его сылки, т.е. составляет дерево страниц сайта. Вообщем все уже работает, боле-менее, но есть сайты на xhtml, например, тот же - джон, которые мой робот не читает: не file(), не readfile(), не file get contents() , не curl - не могут прочитать, а возвращает ошибку. Вообщем, может кто нибудь сталкивался с такой проблемой, можете написать простой пример парсинга xhtml, чтобы программа возвращала результат? заранее спасибо, надеюсь на вашу помощь)
.
Think different
Dmitriy12,
$dom = new DOMDocument();
$dom->loadHTML(file_get_contents('http://site.ru'));
print_r($dom->getElementByTagName('a'));
.
Folour (25.02.2013 / 20:12)
Dmitriy12,
$dom = new DOMDocument();
$dom->loadHTML(file_get_contents('http://site.ru'));
print_r($dom->getElementByTagName('a'));
Спасибо, а domdocument - эту библиотеку надо отдельно устанавливать?
.
Dmitriy12, DOMDocument в РНР из коробки.
.
Screamer
Dmitriy12, это расширение включено по умолчанию
для корректной работы необходима libxml
но она обычно тоже изкаропки есть
.
Другое дело что domdocument уж сильно придирчив к вёрстке страниц. Если ему подсунуть страничку с кривой вёрсткой, то он откажеться её обрабатывать и выдаст ошибку.
.
Folour (25.02.2013 / 20:12)
Dmitriy12,
$dom = new DOMDocument();
$dom->loadHTML(file_get_contents('http://site.ru'));
print_r($dom->getElementByTagName('a'));
Интерпритатор вывел ошибку: Fatal error: Call to underfined function AnewA domdocument() in (...) line 2

Даже не знаю с чем связано...
.
Think different
ОМГ, ты как скопировал то, там такой функции и в помине нет.
.
Folour (25.02.2013 / 20:47)
ОМГ, ты как скопировал то, там такой функции и в помине нет.
он на 2 строчку ругается:
$dom = new DOMdocument();
.
Think different
Dmitriy12, Ну блин, ты сам смотри, во второй строчке идет инициализация класса, а у тебя пишет что функция не существует, и вместо пробелов у тебя буква А, по-этому вместо new DOMDocument(); вызывается AnewAdomdocument();
Я хз что у тебя с пыхом, но он явно работает не так как надо.
Всего: 14