【发布时间】:2015-01-26 04:08:56
【问题描述】:
我只是在旧网页上浏览一些糟糕的 HTML 标记。我注意到我的标记经常出现一些错误。
我希望用一个程序来解决这些问题,但我不确定什么 API 或语言可以帮助我完成这个。有人能帮帮我吗?
我的 HTML 是这种形式:
<td class="bulletPoint" align="right" valign="top" height="100%" width="100%">This is text</td>
我想要替换的
<td class="bulletPoint" align="right" valign="top" height="100%" width="100%"><h2>This is text</h2></td>
我也有这种形式(class/colspan/href 可以变化):
<td class='original' colspan=4><a id='id12345' class='content' href='#note'">This is the text</a>
并希望将其转换为:
<font SIZE="3" COLOR="#222222" FACE="Verdana" STYLE="background-color:#ffffff;font-weight: bold;"><h2>This is the text</h2></font>
当我有超过 1,000 个 .html 文件来执行此操作时,以编程方式执行此操作的最佳方法是什么?
谢谢
【问题讨论】:
-
<font>已弃用;你不应该在新代码中使用它。 -
创建 1 个 css 属性文件并从所有文件中删除内联 html 属性肯定更容易吗?
-
不确定你想对第二行做什么,但只要
... 在一行上,这应该适用于第一个替换cat file.html | sed 's;\(<td class="bulletPoint" .*>\)\(.*[~<]\)\(.*\);\1<h2>\2/h2><\3;g' -
使用正则表达式替换所有。该功能存在于大多数 IDE 和许多文本编辑器中。不过,您需要对所需的不同输出进行 2 次单独替换,只需确保正则表达式足够具体,仅匹配您想要的输出即可
-
您在第 3 行缺少 ,我猜您正试图用第 4 行包装所有“这是文本”。是这样吗? (已弃用 问题 appart)
标签: html regex parsing beautifulsoup html-parsing