使用FlexMarkJava清除标记
在Java应用程序中,我需要将标记的文本转换为简单的纯文本,而不是html(例如删除所有链接地址、粗体和斜体标记) 哪种方法最好?我在考虑使用像这样的降价库。但是我一眼就找不到这个功能。它在那里吗?还有其他更好的选择吗?编辑 通过使用使用FlexMarkJava清除标记,java,markdown,Java,Markdown,在Java应用程序中,我需要将标记的文本转换为简单的纯文本,而不是html(例如删除所有链接地址、粗体和斜体标记) 哪种方法最好?我在考虑使用像这样的降价库。但是我一眼就找不到这个功能。它在那里吗?还有其他更好的选择吗?编辑 通过使用org.commonmark.renderer.text.TextContentRenderer而不是默认的HTML呈现程序,支持呈现为文本。不确定它对新词有什么作用,但值得一试 原始答案,使用flexmark HTML+JSoup 理想的解决方案是为flexma
org.commonmark.renderer.text.TextContentRenderer
而不是默认的HTML呈现程序,支持呈现为文本。不确定它对新词有什么作用,但值得一试
原始答案,使用flexmark HTML+JSoup
理想的解决方案是为flexmark实现自定义渲染器,但这将迫使您为markdown中的所有语言功能编写一个模型字符串。除非它支持开箱即用,但我不知道这个功能 一个更简单的解决方案可能是使用flexmark(或任何其他轻量级markdown渲染器)并让它创建HTML。之后,只需运行生成的HTML并让它提取文本:
Jsoup.parse(htmlInputStream).text();
字符串org.jsoup.nodes.Element.text()
获取此元素及其所有子元素的组合文本。空白被规范化和修剪
例如,给定HTML你好
,p.text()返回你好代码>
在使用org.owasp.html.HtmlSanitizer
进行清理后,我们使用这种方法获得在富内容编辑器(summernote)中输入的文本的“预览”