8

divを使用して、特定のクラス名とemの子を持つ「li」上のリモートhtmlコンテンツを取得したいと思います。

私のリモートコンテンツはこんな感じです

<ul>

<li class = "user">

<divclass="name">私の名前1</div>

<div class = "rep"> 20 </ div>

</ li>

<li class = "user">

<divclass="name">私の名前2</div>

<div class = "rep"> 23 </ div>

</ li>

<li class = "user">

<divclass="name">私の名前3</div>

<div class = "rep"> 40 </ div>

</ li>

</ ul>

彼らのデータを取得した後、それはこのようでなければなりません。

[私の名前1,20]

[私の名前2,23]

[私の名前3,40]

ありがとう。

私の貧しい英語でごめんなさい

注:リモートページには、これより多くのコンテンツがあります。

4

1 に答える 1

27

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のDOMオブジェクトモデルを使用して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/>";
于 2012-07-31T05:54:28.617 に答える