【发布时间】:2011-03-24 19:31:34
【问题描述】:
使用 PHP 解析 HTML 和提取链接的 CSS 文件的最佳方法是什么?
【问题讨论】:
-
说什么?我不确定你想做什么
-
也就是说,获取一个带有PHP cURL的网页,然后解析所有
<link href="/any.css" rel="stylesheet" type="text/css" media="all" />的字符串
使用 PHP 解析 HTML 和提取链接的 CSS 文件的最佳方法是什么?
【问题讨论】:
<link href="/any.css" rel="stylesheet" type="text/css" media="all" />的字符串
DOMDocument 或许可以帮到你:
$dom = new DOMDocument();
$dom->loadHTMLFile('file.html'); // Can replace with $dom->loadHTML($str);
$link_tags = $dom->getElementsByTagName('link');
foreach($link_tags as $link_tag)
{
// if $link_tag rel == stylesheet
// get href value and load CSS
}
【讨论】:
Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Tag nobr invalid in Entity, line: 7
saveXML。
这是一个使用正则表达式的简单解决方案。
$content = '...';
$n = preg_match_all('/"([^"]+?\.css)"/', $content, $matches);
if ($n !== FALSE && $n > 0) {
var_dump($matches[1]);
}
【讨论】:
我会使用 curl 类来获取 HTML 文件,然后使用 DOMDocument 类来解析 HTML 以获得 CSS 链接。如果您要寻找更多,则必须更具体。
【讨论】:
DOMDocument http://it.php.net/domdocument
检查 php 文档
【讨论】: