我正在尝试创建一个接受用户输入的URL的页面,然后它将显示该地址的所有图像。我有这个工作,但是如果页面上的图像src是这样写的:
/image/picture.jpg
而不是:
http://www.site.com/image/picture.jpg
然后我的页面不会显示它,因为它不是我的服务器的本地。我想知道的是,是否有一种直接链接到该文件位置的简单方法?
我的代码如下:
<?php
$html = file_get_contents('http://www.deviantart.com/');
$dom = new domDocument;
@$dom->loadHTML($html);
$dom->preserveWhiteSpace = false;
$images = $dom->getElementsByTagName('img');
foreach ($images as $image) {
$data = $image->getAttribute('src');
echo "<img src='".$data."' />";
}
?>
答案 0 :(得分:0)
只需将网站网址添加到src元素中。如果src以http://
开头,我也会添加检查foreach ($images as $image) {
$data = $image->getAttribute('src');
if (!preg_match('/https?:\/\//i', $data)) {
// If src attribute does not start with "http://" or "https://", then prepend site base url
$data = 'http://site.com/' . ltrim($data, '/');
}
echo "<img src='".$data."' />";
}