2012-10-15 127 views
1

使用PHP簡單的HTML DOM解析但無法獲取圖像顯示。PHP中的DOM DOM解析器

我不是一個編碼器,我試圖從網站上拉文章和圖像。文章很好,但圖片不顯示。取而代之的是部分路徑顯示

> //ssl.gstatic.com/ui/v1/button/search-white.png 
> //ssl.gstatic.com/ui/v1/button/search-white.png 
> //ssl.gstatic.com/ui/v1/icons/common/settings.png 

使用谷歌作爲一個例子,這裏是我使用的代碼:是一個相對的URI(該方案沒有規定

+0

PHP中沒有這樣的函數'file_get_html()'。你在說什麼? – feeela

+0

@feeela file_get_html()是從PHP簡單的HTML DOM解析器 – anvd

+0

啊,你的意思是外部項目http://simplehtmldom.sourceforge.net/沒有任何東西在PHP核心... – feeela

回答

0

更新我的回答 'http://frielatvsales.com/QuadAttachments.htm'

請嘗試下面的代碼。

include_once "simplehtmldom/simple_html_dom.php"; 


$url = "http://frielatvsales.com/QuadAttachments.htm"; 

$html = file_get_html($url); 

preg_match('@^(?:http://)?([^/]+)@i', $url, $matches); 

$host = $matches[1]; 

foreach($html->find('h2') as $e) { 

echo $e->innertext . '<br><br>'; 
} 

foreach($html->find('div.jsdisplay') as $e) { 

echo $e->innertext . '<br>'; 

} 

foreach($html->find('img') as $element) { 

echo '<img src=http://'.$host.'/'.$element->src . ' /><br>'; 
} 
+0

感謝您的回覆阿比德,但不幸的是代碼沒有工作。如果您有任何其他想法,我會感激他們。 – user1747697

+0

你已經添加了simple_html_dom.php類的代碼頂端。 –

+0

我在我的答案中添加了simple_html_dom.php類。請看一下。 –

0

//ssl.gstatic.com/ui/v1/button/search-white.png

<?php 
$html = file_get_html('https://news.google.com/nwshp?hl=en&tab=in'); 

foreach($html->find('h2') as $e) 
    echo $e->innertext . '<br><br>'; 

foreach($html->find('div.jsdisplay') as $e) 
    echo $e->innertext . '<br>'; 

foreach($html->find('img') as $element) 
    echo $element->src . '<br>'; 
?> 

感謝您的幫助,所以它會使用相同的方案(例如http:或https :)作爲它出現的頁面)。

解析它,就像您使用其他任何相對URI一樣。

我的問題是如何讓圖像顯示使用我原來的帖子中的代碼。

您必須輸出<img>標記而不是純文本的URI。

2

您應該與原網站的網址你最後的評論後更換

foreach($html->find('img') as $element) 
    echo $element->src . '<br>'; 

隨着

foreach ($html->find('img') as $element) { 
    $img = str_replace(array("//ssl"), array("http://ssl"), $element->src); 
    for($i = 0; $i < 5; $i ++) { 
     $img = str_replace("//nt$i", "http://nt$i",$img); 
    } 
    echo "<img src=\"$img\" /> <br>"; 
} 
+0

嘗試過,但圖像仍然不顯示。感謝 - 任何其他想法? – user1747697

+0

自己測試過http://codepad.viper-7.com/Adm59E @ user1747697 – Baba

+0

謝謝,你是正確的,它確實顯示圖像。 – user1747697