如何获取内容或远程HTML页面

时间:2012-07-31 05:45:57

标签: php html

我想获取远程html内容,在“li”上使用空格类名称和使用div的em的子项。

我的远程内容是这样的

  

< UL>

     

< li class =“user”>

     
    

< div class =“name”>我的名字1< / div>

         

< div class =“rep”> 20< / div>

  
     

< /锂>

     

< li class =“user”>

     
    

< div class =“name”>我的名字2< / div>

         

< div class =“rep”> 23< / div>

  
     

< /锂>

     

< li class =“user”>

     
    

< div class =“name”>我的名字3< / div>

         

< div class =“rep”> 40< / div>

  
     

< /锂>

     

< / UL>

获取数据后,必须是这样的。

  

[我的名字1,20]

     

[我的名字2,23]

     

[我的名字3,40]

感谢。

抱歉我的英语不好

注意:在远程页面上有比此更多的内容。

1 个答案:

答案 0 :(得分:25)

使用CURL读取远程URL以获取HTML。

$url = "http://www.example.com";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$output = curl_exec($curl);
curl_close($curl);

然后使用PHP's DOM object model来解析HTML。

例如,从源中获取所有<h1>标记

$DOM = new DOMDocument;
$DOM->loadHTML( $output);

//get all H1
$items = $DOM->getElementsByTagName('h1');

//display all H1 text
 for ($i = 0; $i < $items->length; $i++)
        echo $items->item($i)->nodeValue . "<br/>";