保留P、BR、UL、OL格式的情况下将HTML转换为纯文本?

3
在将HTML文本导出到Excel表格时,我试图保留基本格式,例如HTML换行符(<br><p>),列表(<ol><ul>)等。 < p > 示例输入:

<p>This is a test.</p>
<p>This is another<br>test.</p>

<ul>
    <li>10</li>
    <li>20</li>
    <li>30</li>
</ul>

<p>End.</p>

示例输出:

This is a test.

This is another
test.

- 10
- 20
- 30

End.

著名的NirSoft开发者提供的免费实用工具HTMLAsText似乎正是我需要的,但不幸的是它没有源代码:

enter image description here

即使在Stack Overflow上检查了大约20个类似的问题并浏览了数小时的Google后,我能找到的最接近的东西是this Code Project article
因此,我的问题是:
是否有人知道一个可以将HTML转换为纯文本并保留基本格式的类/库?
更新2013-05-10
我最终使用了一个函数,请在Pastebin上查看完整代码
2个回答

3

您尝试过使用这个吗?只需将“允许的标签”设置为您想要的标签即可。


谢谢,@Paul。实际上,我不想允许任何HTML标签,而是希望将所有HTML标签删除并用相应的纯文本替换好的标签。我正在更新我的问题。 - Uwe Keim
1
加1,我最终在这个页面上寻找到了它,消毒剂正是我所需要的。 - MvcCmsJon

3

您能否通过替换以下内容来完成此操作:

<br /> with Environment.NewLine
</p> with Environment.NewLine + Environment.NewLine
<li> with " - ".

然后只需使用正则表达式去除其余的HTML?这似乎可以实现你想要的示例输出。当然,有人可能会有比这更优雅的解决方案。=)

谢谢,@Jon,我现在正在做类似的事情! - Uwe Keim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接