2013-11-23 3 views
1

Я новичок в php DOM, я прочитал о DOMDocument. Я пытаюсь создать DOMDocument с веб-страницы. Итак, я могу выполнять операции DOM на загруженной веб-странице.php DOM читайте с веб-страницы

Я попробовал это,

<?php 
    $dom = new DOMDocument(); 
    $dom->loadHTMLFile("www.google.com"); 
    echo($dom->textContent); 
?> 

Я попробовал несколько функций, таких как, load, loadHTML ...

Позже я хочу, чтобы выполнять такие операции, как, getElementById() и т.д ..

Как я могу сделай это.?

+0

Таким образом, наш код не работает? –

ответ

2

DOMDocument::loadHTMLFile может открывать только файлы в локальной системе. Поэтому вы должны сначала загрузить его.

<php 
    $dom = loadHtmlFromWeb("www.google.com"); 
    echo($dom->textContent); 

    /** 
    * @param string $url 
    * 
    * @return DOMDocument 
    */ 
    function loadHtmlFromWeb($url) { 
     $curl = curl_init()) { 
     curl_setopt($curl, CURLOPT_URL, $url); 
     curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); 
     $out = curl_exec($curl); 
     curl_close($curl); 

     $dom = new DOMDocument(); 
     if (!empty($out)) { 
      $dom->loadHTML($out); 
     } 
     return $dom; 
    } 
?> 
+0

, пожалуйста, проверьте свой ответ ... он показывает много предупреждений. –

+0

Этот ответ неверен. –

0

Вы должны использовать фактический адрес: $dom->loadHTMLFile("http://www.google.com/");

Смежные вопросы