我有一个从MS Word粘贴的html表。我需要只有清晰的HTML表格。没有风格,没有格式,没有高度,宽度等。只是<表> < TBODY> < TR> < TD> < / TD> < / TR> < / TBODY> < /表>
是否有人知道某些功能或某些程序,可以在所有源代码中删除此格式? 粘贴表的数量很高,每个粘贴的表都有另一种格式。
谢谢!
表(例如)看起来像这样:
<p>
<table style="border-bottom: medium none; border-left: medium none; border-collapse: collapse; border-top: medium none; border-right: medium none" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 105.25pt; padding-right: 5.4pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0cm" valign="top" width="140">
<div style="text-align: right; margin: 0cm 27.85pt 0pt 0cm" align="right"><em><span style="letter-spacing: -0.05pt; color: black; font-size: 6pt">A</span></em></div>
</td>
<td style="border-bottom: windowtext 1pt solid; border-left: #d4d0c8; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 105.25pt; padding-right: 5.4pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0cm" valign="top" width="140">
<div style="text-align: right; margin: 0cm 27.85pt 0pt 0cm" align="right"><em><span style="letter-spacing: -0.05pt; color: black; font-size: 6pt">B</span></em></div>
</td>
</tr>
</tbody>
</table>
</p>
我需要的形式是:
<table>
<tbody>
<tr>
<td>a</td>
<td>b</td>
</tr>
</tbody>
</table>
答案 0 :(得分:2)
A找到了在线工具Clean up HTML code
从剪贴板中输入代码,然后按“清除此文字”
答案 1 :(得分:1)
通过一些正则表达式运行标记?如果样式与style =“foo:bar;”内联完成你可以试试这个RegEx:style=["|'].*["|']
答案 2 :(得分:1)
您需要一种方法来运行正则表达式搜索和替换。
这应该修复你想要保留的表标签(但要删除属性)。
/<((table)|(tbody)|(td)|(tr))[^>]*>/<\1>/
第一部分匹配任何表格标记的全部内容(从打开的<
开始,匹配适当的单词,继续进行任何非结束追踪>
,然后匹配结束{{1}它取代了>
。
然后,您必须运行另一个传递来删除所有其他不是表标记的标记。
这是一个程序有点沉重。我相信你可以在那里找到一种工具来做这类事情。
或者,只需从Word中删除格式,复制/粘贴,不要担心剩余的样式。
答案 3 :(得分:0)
使用您喜欢的语言(Python,Ruby,PERL等)将HTML解析器解析为DOM树,运行适当的DOM函数以从所述元素中剥离style
属性(并执行其他必要的DOM)操作),并将DOM树重新序列化为HTML。使用Hpricot
(Ruby库),它可能看起来像这样:
require 'rubygems'
require 'hpricot'
the_html = ""
open("<infile>", "r").each {|s| the_html << s}
html_doc= Hpricot(the_html)
html_doc.search("table,tr,td").remove_attr("style")
html_doc.search("table").remove_attr("cellspacing").remove_attr("border").remove_attr("cellpadding")
html_doc.search("td").remove_attr("width").remove_attr("valign")
html_doc.search("td").each do |td|
td.inner_html = td.inner_text
end
puts html_doc.to_html
答案 4 :(得分:0)
如果您使用的是Linux。这是我的解决方案。