我希望获取WPF RichTextBox的输出,该输出被锁定为仅允许某些格式化命令(粗体,下划线和斜体),并使用表示格式的HTML标记将其解析为明文。这样可以通过Oracle Publishing界面拾取和解析格式化信息。
所有其他信息(如字体大小,颜色等)并不重要,因为它们将在下一行处理发布模板。
理想情况下,我们会有以下内容,删除所有其他rtf标记:
This is <b>some bold text, with <i>this bit</i> italic as well</b>
有相对简单的方法吗?我见过一些Regex字符串,但它们似乎总是让不需要的rtf材料通过。我真的不想使用商业解决方案,因为它是一个非常小的问题。 有什么想法吗?
答案 0 :(得分:1)
您应该解析RTF并用HTML标记替换必要的控制代码。考虑到RTF的复杂性,我认为正则表达式还不够。
Rich Text Format (RTF) Specification, version 1.6。语法相对简单,我只需要像\b
那样处理大胆等控制代码。
NRTFTree - A class library for RTF processing in C#。它的SAX解析器可能就是你所需要的。