使用表格复制word文档中的内容。
复制的HTML将如下所示:
This is above table
<table width="200px"><tr><td><table></table></td></tr></table>\n\n
This is below table
我需要输出如下所示:
This is above table
<br/><table width="200px"><tr><td><table></table></td></tr></table><br/>
This is below table
我需要为table元素追加break,而不是父表中的子表。
实际问题是当我从不同版本的Word和Excel复制并粘贴格式化表格时,HTML的生成方式不同。
Excel 2007:
<table width="200px"><tr><td><table></table></td></tr></table>
Word 2007:
<table width="200px"><tr><td><table></table></td></tr></table>\n\n
Excel 2013:
<table width="200px"><tr><td><table></table></td></tr></table>\n
我写得像这样:
html.replace(/<\/table>\n$/i, "</table><br/>").replace(/^<table>/i, "<br/><table>");`
我不想为每个版本保留多行代码。
答案 0 :(得分:0)
试试下面的Regex,这会有所帮助:
html.replace(/<\/table>(\\n)*$/g, "</table><br/>").replace(/^<table/g, "<br/><table");
更新了正则表达式。
感谢。
答案 1 :(得分:0)
@Mohit的答案几乎是正确的,请使用:
html.replace(/<\/table>(\n)*$/g, "</table><br/>").replace(/^<table/g, "<br/><table")