<table border="1" cellspacing="0" cellpadding="0">
<td width="284" valign="top">
<font color="#0000FF">
(以及其他类似格式)之类的旧静态HTML文档转换为HTML5兼容格式,其中必须设置这些属性通过CSS。
主要目的是消除过时功能的使用,并用适当的替代方法替换它们。
内联CSS就足够了。例如,应将
<font color="#0000FF">
替换为<span style="color:#0000FF">
我也不在乎平台,即使在线服务也适合。
#1 楼
HTML Tidy实用程序可以为您整理一些基础知识。它将涵盖诸如<font>
之类的基本内联样式元素,但不会处理更复杂的事情,例如当表已用于半布局半样式时。特别是,您可能希望干净标志:(来自
man tidy
)-clean, -c
replace FONT, NOBR and CENTER tags by CSS (clean: yes)
在其他新闻中,该工具非常适合捕获解析和语义错误以及在基本静态页面的文档类型之间进行转换。值得运行生成的代码输出,以查看正在产生的错误,您可以配置它以不仅仅是解决问题,还可以向您指出问题。
有几个地方可以在线使用该工具。
用于转换已用于布局和样式而不是语义使用的表和其他垃圾。我觉得你很不走运。你只是无法解决愚蠢的问题。
#2 楼
我也正在寻找一种转换工具...需要转换“好的HTML4”和XHTML1.X。但是需要知道并确定转换的所有步骤。整理不是很完美,缺陷还存在底盒中,是无法获得的C源代码...
有一个完美的问题规范:现在(从2014-10-28开始)HTML5是标准(!)和第11.2节“不合格的功能”完全表达了我们必须做的事情。
是否有“标准,可靠和白盒”工具可用于这些规范?我认为答案是肯定的,并且这些工具简单且广为人知。
可靠的白盒解决方案
正如我提到的,
“好的HTML4”和XHTML1.X:都可以加载到DOM文档中。因此,基于DOM的工具为:
DOM加载方法或用于通用HTML的“准备和加载”工具。
将所有“布局”(使用DOM或XSLT)转换。标签”添加到
style="..."
属性中。这种转换称为“内联样式”,用于HTML电子邮件等。 CssToInlineStyles。在此过程中,所有CSS都可以统一并重新编译。转换标签和属性,如11.2节所述:XSLTv1 +可以完成任务。
评论
更严重的是,我不确定该问题该怎么办。很清楚您想要什么,对我来说也很清楚您将无法获得它。没有什么可以神奇地采用错误的代码并编写良好的代码的。您是否有需要转换的更具体的清单?您是否有使用格式的清单?是否涉及布局? (根据您的样本,我猜是这样)。您希望保留其中的多少?我想按现状回答“不可能”,但是也许以更多的标准可以有所帮助。投票关闭待处理的更多数据。我同意@Caleb的观点,这里没有魔术子弹了……更重要的是,您很少要转换输出的HTML……您需要转换生成HTML的源代码(例如ASP / JSP / PHP) 。我认为您最好的选择是进行一系列精心计划(并经过仔细检查)的全球搜索和替换电话。
@scunliffe OP指出源是旧的静态html页面,因此不必担心。 (我什至不会进入在所有动态页面上将tidy用作实时输出过滤器的网站。)
这与错误的代码无关,而与需要升级的有效HTML4 / XHTML有关。没什么例外,链接上有完整的功能列表及其现代功能。
是的,有这样一个“工具”;付费的Web开发人员(尽管我们不善于称呼工具,也不会觉得这种行为很有趣)。