2013-10-04 175 views
0

我試圖分析此網站(獲得IMG鏈接)從RSS飼料IMG:http://statigr.am/feed/parishilton解析使用PHP簡單的HTML DOM解析器

這是我的代碼:

include 'parse/simple_html_dom.php'; 

// Create DOM from URL or file 
$html = file_get_html('http://statigr.am/feed/parishilton/'); 

// Find all images 
foreach($html->find('img') as $element) 
{ 
     echo $element->src . '<br>'; 
}  

腳本不返回任何東西!這是爲什麼 ?我想要img鏈接。

回答

0

這是因爲所有的圖像都在裏面CDATA部分和分析器忽略它,因此該解決方案是

$html = file_get_html('http://statigr.am/feed/parishilton/'); 
$html = str_replace("<![CDATA[","",$html); // clean-up 
$html = str_replace("]]>","",$html); // clean-up 
$html = str_get_html($html); // re-construct the dom object 
// Loop 
foreach($html->find('item description img') as $el) 
{ 
    echo $el->src . "<br />"; 
} 

從返回的內容替換所有CDATA然後用str_get_html創建從該字符串遍歷DOM對象圖片。 (測試和工作)。

輸出:

http://distilleryimage3.s3.amazonaws.com/cc25d8562c9611e3a8b922000a1f8ac2_8.jpg 
http://distilleryimage7.s3.amazonaws.com/4d8e22da2c8911e3a6a022000ae81e78_8.jpg 
http://distilleryimage5.s3.amazonaws.com/ce6aa38a2be711e391ae22000ae9112d_8.jpg 
http://distilleryimage3.s3.amazonaws.com/d64ab4c42bc811e39cbd22000a1fafdb_8.jpg 
...... 
...... 
+0

謝謝! 如果我想在相同的數組中發佈鏈接,說明和時間,我該怎麼辦? 輸出: 1. 鏈路:BLA 描述:XX 時間:XX 2.鏈路 描述:XX 時間:XX –

+0

'的foreach($ HTML->找到( '項目')爲$ EL) \t { \t echo $ el-> find('description img',0) - > src。 「
」; \t echo $ el-> find('link',0) - > innertext。 「
」; \t echo $ el-> find('pubDate',0) - > innertext。 「
」; \t}' –

+0

[閱讀文檔](http://simplehtmldom.sourceforge.net/manual.htm#section_quickstart)。 –