聘我网

新概念招聘3.0

如何从某个网页的url以及其中<img>的src得到那个<img>的绝对路径?

vote up0vote downstar

比如urlhttp://domain.name/a/b.html,其中某个<img>src/images/c.gif,那么其绝对路径就是:

http://domain.name/images/c.gif

如果srcimages/c.gif,那就应该是:

http://domain.name/a/images/c.gif
 

1 个答复

vote up0vote downcheck

解析urlparse_url,然后按src是否已经是绝对路径、是否相对根目录、是否相对当前目录三种情况加以讨论

function getAbsoluteImageUrl($pageUrl,$imgSrc)
{
    $imgInfo = parse_url($imgSrc);
    if (! empty($imgInfo['host'])) {
        //img src is already an absolute URL
        return $imgSrc;
    }
    else {
        $urlInfo = parse_url($pageUrl);
        $base = $urlInfo['scheme'].'//'.$urlInfo['host'];
        if (substr($imgSrc,0,1) == '/') {
            return $base . $imgSrc;
        }
        else {
               return 
                    $base
                    . substr($urlInfo['path'],0,strrpos($urlInfo['path'],'/'))
                    . '/' . $imgSrc;
        }
    }
}

$host = 'http://domain.name/a/b.html';
$imgSrc = '/images/c.gif';
echo getAbsoluteImageUrl($host,$imgSrc);
链接

您的回答





不是您要找的问题? 浏览其他含有标签 的问题或者 自己问个.