Как вывести DOMDocuments? - PullRequest
       1

Как вывести DOMDocuments?

3 голосов
/ 25 сентября 2010

Возможно, я что-то упускаю ... но объект DOM в этом коде пуст:

$input = file_get_contents('http://www.google.com/');
$doc = new DOMDocument();
@$doc->loadHTML($input); //supress errors on invalid html!
var_dump($doc);
die();

Я действительно не знаю, что может быть не так с этим кодом.Я убедился, что $ input на самом деле заполнен html-содержимым веб-страницы.

Вывод: object (DOMDocument) # 3 (0) {}

Я не понимаюпочему ...

Ответы [ 3 ]

6 голосов
/ 25 сентября 2010

Это ожидаемое поведение.Чтобы просмотреть HTML-код, используйте DOMDocument::saveHTML() (или saveXML()).

2 голосов
/ 25 сентября 2010

Вывод: object (DOMDocument) # 3 (0) {}

Да. Вот так выглядит var_dump ed DOMDocument.

Если вы хотите посмотреть HTML-представление содержимого внутри документа, saveHTML() на нем. Это выкладывает очищенную версию HTML на главной странице Google для меня.

0 голосов
/ 25 сентября 2010

Попробуйте это

$input = file_get_contents('http://www.google.com/');
$doc = new DOMDocument();
$test=@$doc->loadHTML($input); //supress errors on invalid html!
var_dump($test);
die();
//output
//bool(true)
?>

или попробуйте

$input = file_get_contents('http://www.google.com/');

$buffer = ob_get_clean();
$tidy = new tidy();
$input = $tidy->repairString($input);

$doc = new DOMDocument();
@$doc->loadHTML($input); //supress errors on invalid html!
var_dump($doc);
die();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...