我试图从网站上获取所有css代码,我有困难试图确定href是实现的还是绝对的。我使用的是filter_var(),但是它没有正确地使用以//开头的url。
<?php
$file = file_get_contents($url);
$doc = new DOMDocument();
$doc->loadHTML($file);
$domcss = $doc->getElementsByTagName('link'); //Get all .css file
foreach($domcss as $links) {
if( strtolower($links->getAttribute('rel')) == "stylesheet" ) {
$href = $links->getAttribute('href');
if(filter_var($href, FILTER_VALIDATE_URL)){ //Check if href is relative or absolute ,not working correctly
$css = file_get_contents($href);
}else{
$css = file_get_contents($this->url.$href);
}
//echo $css;
}
}
例如:
var_dump(filter_var('//google.bg' , FILTER_VALIDATE_URL)); //false