检查和提取CSS,JS和IMAGE资源的绝对URL

时间:2014-10-01 14:45:26

标签: javascript php html css parsing

我需要从源代码中提取绝对URL。现在,问题是,我正在提取以下网址:

> img标签SRC
>脚本代码SRC(JS)
> CSS链接

我每个人都使用三种不同的功能。问题是我有时得到相对的URL,因为我必须进一步处理它们,所以它们没有价值。请仔细阅读以下三个功能,并建议改进和更正我如何将URL转换为Absolute(当然,在检查它们是否已经绝对之后)。

谢谢你!

提取图像SRC的功能。

function get_images(){
$images=array();
$regex='/[^(<!--)]<img [^>]*src=["|\']([^"|\']+(jpg|png|gif|jpeg))/i';
preg_match_all($regex, $this->source_code, $matches);
foreach ($matches[1] as $key=>$value) {
    $images[$key]=$value;
    }
    return $images;
}

提取JS链接的功能

function get_scripts(){
$script_links=array();
$regex='/<script [^>]*src=["|\']([^"|\']+(\.js))/i';
preg_match_all($regex, $this->source_code, $matches);
foreach ($matches[1] as $key=>$value) {
    $script_links[$key]=$value;
    }
    return $script_links;
}

提取CSS样式表链接的功能

function get_css(){
$css_links=array();
$regex='/<link [^>]*href=["|\']([^"|\']+(\.css))/i';
preg_match_all($regex, $this->source_code, $matches);
foreach ($matches[1] as $key=>$value) {
    $css_links[$key]=$value;
    }
    return $css_links;
}

我在Google.com的源代码上使用时获得的输出:

Array ( [0] => /images/icons/product/chrome-48.png [1] => http://www.google.com/images/hpp/pyramids-35.png ) 

现在第一个链接以/ images / ....开头,并且不可重复使用。这是我试图修复所有3种类型的来源的问题。

0 个答案:

没有答案