由于标题建议我试图在网站上找到所有CSS文件(以后使用,我会在服务器上的每个CSS文件中找到所有图像网址。)
现在我尝试了以下内容:
$url_to_test = $_GET['url'];
$file = file_get_contents($url_to_test);
$doc = new DOMDocument();
$doc->loadHTML($file);
$domcss = $doc->getElementsByTagName('css');
然而阵列domcss变空(对于我知道有很多css文件的网站)。
所以我的问题是如何找到在给定页面上加载的所有css文件?
答案 0 :(得分:5)
您应该检查link
而不是css
,更改:
$domcss = $doc->getElementsByTagName('css');
到
$domcss = $doc->getElementsByTagName('link');
foreach($domcss as $links) {
if( strtolower($links->getAttribute('rel')) == "stylesheet" ) {
echo "This is:". $links->getAttribute('href') ."<br />";
}
}
答案 1 :(得分:2)
试试这个:
preg_match('/<link rel="stylesheet" href="(.*?)" type="text\/css">/',$data,$output_array);