将contenteditable div数据导出到Word会导致空行

时间:2017-08-09 21:49:35

标签: c# ms-word

我有 contenteditable div 用户输入数据。当他们进入换行符时,每个浏览器以不同方式存储数据。当我使用HtmlToOpenXml将此数据导出到Word时,它为内容添加了一个空行,我想避免这样,因此html页面和word文档看起来相同。

我可以选择将标记<br>, <div>, <p>替换为空白,然后使用RegEx将</div></p>替换为C#代码中的<br/>。但我不知道不同浏览器对 contenteditable div使用的格式是什么,这种实现可能无济于事。

我想知道解决这个问题的最佳方法是什么,或者是否有任何开源工具/ dll可以帮我解决这个问题?

e.g。浏览器中的ContentEditable div实际数据如下所示

Chrome -

line1<div>line2</div><div>line3</div>

IE Edge -

 <div>line1</div><div>line22</div><div>line3<br></div>

FireFox - 我读它使用<p> </p>代替<div> </div>

Safari - ????

1 个答案:

答案 0 :(得分:0)

我找到的解决方案:

您可以使用 RegEx ,我强烈建议您在C#中解析信息。

然后根据格式有效地缩小浏览器的范围,然后继续解析它的输出以及它的XML意味着什么。这并不容易,但真正没有跨平台。我举一个如何做到这一点的例子,但RegEx在所有诚实中都需要做大量的工作,并且做一个可以向你展示如何解析它并找出浏览器内容的例子会有相当多的代码是