0

很久以前,我写了一个样式“规范器”程序来扫描一大堆经典 ASP 页面的 ASP/HTML 代码(其中大部分最初是从 MS-Word 文档生成的,所以自然而然地到处都是多余的样式表和大量的样式表) -off 样式)。样式规范器生成了一组最小的样式表和样式以及一个新的“净化”asp/html 文档,因此净化后的文档产生与原始文件完全相同的渲染输出(通过屏幕截图图像比较验证)。

时不时地,我遇到对这样一个程序的需求,并且正在考虑编写一个用于商业发布的想法。

我的谷歌搜索技能并没有完全像这样出现(HTML:Normalize Perl 模块和 HTML Tidy 项目似乎只是清理标签)。

所以,我的问题是:

  1. 是否已经有这样的工具,商业或其他?
  2. 如果没有,真的有人需要吗?
  3. 如果是这样,哪些功能会让它真正值得?

例如,关于#3,为一组页面收集基本样式表,或调整所有页面以使用给定的基本样式表;保留经典的 asp 命令,遵循#includes,保留 asp.net 嵌入式脚本等。越具体、越多越好。

示例:
带有嵌入标签的旧 html

<html><head>
<title>title</title>
<style type='css/text'>
.cls1 { font-family: arial; font-size: 10px; font-weight: bold; }
</style>
</head>
<body>
<% somefunction() %>
<div class='cls1' style='font-size:10px;'>test div</div>
</body>
</html>

新的 html

<html><head>
<title>title</title>
<style type='css/text'>
.cls1 { font-family: arial; font-size: 10px; font-weight: bold; }
</style>
</head>
<body>
<% somefunction() %>
<div class='cls1'>test div</div>
</body>
</html>

请注意,div 上的样式已经消失,因为它与 cls1 类是多余的

编辑:删除了“消毒剂”一词,因为我不专注于 XSS 攻击或过滤评论中的输入,而只是将许多临时样式和随机 CSS 类整合到一组最小的连贯样式表中。

4

4 回答 4

3

好吧,我不能肯定地说这对所描述的所有内容都“有效”,但 Tidy 所做的不仅仅是清理标签。

请参阅HTML Tidy Configuration Options,尤其是那些与 Microsoft Word 相关的(如word-2000

于 2008-11-18T20:42:42.590 回答
2

如果你想知道你是否做了一个合理的工作,你应该尝试这些测试(使用像 Tidy 这样的东西你可能会发现你没有做一个合理的工作)。

一些选项:

任何使用正则表达式并且不解析标记的东西在我看来都是可疑的(而且实现起来太复杂了)。

于 2008-11-21T00:50:31.247 回答
1

老问题,但有些人可能仍然觉得这很有用。查看http://necolas.github.com/normalize.css/。它运作良好!

于 2011-06-08T18:27:09.490 回答
0

不要忘记美丽的汤

如何修复错误嵌套/未闭合的 HTML 标签?

于 2008-11-21T01:24:02.567 回答