我创建了一个服务来加入、缩小和压缩 CMS 系统上的 css-references。例子:
前 :
<link href="/Files/css1.css" rel="stylesheet" type="text/css"/>
<link href="/Files/css2.css" rel="stylesheet" type="text/css"/>
<link href="/Files/css3.css" rel="stylesheet" type="text/css" media="all"/>
现在你可以写:
<link href="/min.ashx?files=/Files/css1.css,/Files/css2.css,/Files/css3.css" rel="stylesheet" type="text/css" />
我的下一个任务是自动获取 head 部分中的所有引用并将它们替换为一行,如示例中所示。
我应该只替换那些符合这些规则的:
- Href 以 '/Files/' 开头,以避免尝试加载 externals
- 只有具有属性 media 或具有 media="all" 的那些应该包括在内,因为生成的 css 文件将只有一个设置。
我可以访问页面的原始 html,但一直坚持成功定位引用,不知道我是否应该解析为 xml 或使用正则表达式等。
谁能指出我正确的方向?