我使用simple_html_dom
来获取网站的图片。但有时,图像的链接不以完整的域URI为前缀,例如与http://example.com
。它们看起来像
如何将这些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 />';
}
?>
答案 0 :(得分:2)
在foreach
内,您可以尝试以下操作来构建图片的网址。
$img_src = $element->src;
if(!strstr($img_src, 'http://')) {
$img_src = $v . $img_src;
}
echo $img_src . '<hr /';
还有一些脚本可以将相对URL转换为绝对URL:
我从未尝试过,但他们应该帮助你解决这个问题。
答案 1 :(得分:2)
3个选项:
答案 2 :(得分:1)
./是当前目录,因此,如果您在http://example.com,并且看到带有src属性的图像./hoopy_frood.png,则表示整个地址为http://example.com/hoopy_frood.png
../表示一个目录向上,例如在http://example.com/ice_cream/sundae.html,如果您看到具有src属性的图像../ images/hoopier_is_not_a_word.gif,则图像hoopier_is_not_a_word.gif位于名为images的目录中,这是在站点根目录中以及名为ice_cream的目录。