我正在从一个使用php简单html dom的网站上抓取一些html,其中包括几个图像。
然而,图像没有正确指向网站。例如,下面是其中一个图片的例子,你可以看到它没有指向网站。
是否可以动态更改url以指向网站,例如
http://www.url.com/bilder/flags_long/United States.gif
html例子<img src="/bilder/flags_long/United States.gif" align="absmiddle" title="United States" alt="United States" border="0">
示例代码:
include('simple_html_dom.php');
$sum_gosu = file_get_html("http://www.gosugamers.net/counterstrike/news/30995-starladder-is-back-with-the-thirteenth-edition-of-starseries");
$gosu_full = $sum_gosu->find("//div[@class='content light']/div[@class='text clearfix']/div", 0);
如何将获取文档的实际URL与相对图像路径连接起来呢?只是给一个想法(这没有经过测试,你一定要做一些检查图像src属性是相对的还是绝对的,在某些情况下):
<?php
$url = 'http://www.url.com/';
$html = file_get_html($url);
$images = array();
foreach($html->find('img') as $img) {
// Option 1: Fill your images array (in case you only need the images)
$images[] = rtrim($url, '/') . '/' . ltrim($img->src, '/');
// Option 2: Update $img->src inside your $html document
$img->src = rtrim($url, '/') . '/' . ltrim($img->src, '/');
}
?>
UPDATE根据您的示例代码,我的示例可能如下所示:
<?php
include('simple_html_dom.php');
$sum_gosu_url = "http://www.gosugamers.net/counterstrike/news/30995-starladder-is-back-with-the-thirteenth-edition-of-starseries";
$sum_gosu = file_get_html($sum_gosu_url);
$gosu_full = $sum_gosu->find("//div[@class='content light']/div[@class='text clearfix']/div", 0);
foreach($gosu_full->find('img') as $img) {
$img->src = $sum_gosu_url . $img->src;
}
?>
之后,$gosu_full文档中的img src属性应该是固定的和可解析的(可由客户端下载)。希望这能有所帮助,我实际上理解你的问题:)
$url="http://www.url.com";
$Chtml = file_get_html($url);
$imgurl=Chtml->find("img",0)->src;
echo $url.$imgurl;