正如标题所示,我正在尝试在网站上查找所有CSS文件(为了以后使用,我将在服务器上的每个CSS文件中查找所有图像URL)。
现在我尝试了以下方法:
$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文件?
您应该检查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 />";
}
}
试试这个:
preg_match('/<link rel="stylesheet" href="(.*?)" type="text'/css">/',$data,$output_array);