2011-04-13 22 views
1

我使用simple_html_dom來獲取網站的圖片。但有時,圖片的鏈接沒有以完整的域URI作爲前綴,例如與http://example.com。他們會出現像如何使用SimpleHTMLDom獲取絕對圖像的URIs

  • 圖像/ _home-SS-21.jpg
  • /_home-ss-22b.jpg
  • ./_1249a7s.png或
  • ../../。 ./a19489s_20110412.jpeg。

如何將這些URI轉換爲絕對URI,包括協議和域信息。

<?php 
header('Content-type:text/html; charset=utf-8'); 
require_once 'simple_html_dom.php'; 
$v = 'http://www.typepad.com/'; 
$html = file_get_html($v); 
foreach($html->find('img') as $element) { 
    echo $element->src.'<hr />'; 
} 
?> 

回答

2

在您的foreach內部,您可以嘗試以下操作來構建圖像的URL。

$img_src = $element->src; 
if(!strstr($img_src, 'http://')) { 
    $img_src = $v . $img_src; 
} 
echo $img_src . '<hr /'; 

有一些劇本在那裏,可以做這項工作,以及相對URL轉換爲絕對URL:

我從來沒有嘗試過他們,但他們應該幫助你完成這件事。

+0

對不起,我已經測試了很長時間,但我已經解決了我的問題。你發現的一些文章可以很好地工作。再次感謝。 – 2011-04-13 13:48:35

+0

!!!關於點擊第一個鏈接的重要警告。如果你點擊它,它會陷入你的頁面! – 2016-01-14 21:43:53

2

3個選項:

  1. 在另一個網站上的圖像以http://>使用直接鏈接
  2. 圖片與其他網站+圖像/>使用的主頁網址開始
  3. 圖像沒有按開始/>使用完整的URL +路徑您正在檢查的網站的導演,並添加圖像
相關問題