我在获取远程图像的绝对URL时遇到问题。我现在正在做的是:
foreach($html->find('img') as $e){
$path = parse_url($e->src, PHP_URL_PATH);
$absolute = realpath($path);
if($e->src==$path){
echo '<img class="pic" src=' . $absolute . '/><br/>';
}
}
此代码是使用简单的html dom项目编写的。这意味着我无法在原始编码中显示带有相对URL的图像,因为它们不在我的服务器上。
那么有谁知道如何解析远程图像的绝对路径?
答案 0 :(得分:1)
您需要获取基本域以及相对URL根。
因此,如果在页面上找到图像,yoursite.com/slideshow/4/view,但相对指向./../../images/435.jpg,您只需组合路径即可。
否则,如果图像指向域的根(您可以使用正则表达式来查找第一个字符是否为/),那么您可以使用yoursite.com并将该路径添加到字符串中。
查看http://php.net/manual/en/function.parse-url.php将网址解析为网站托管服务商,即该主机的相关网页。
答案 1 :(得分:0)
如果您知道过滤这些图像的位置,为什么不将它添加到src属性返回的位置?
答案 2 :(得分:0)