Java类库解析markdown文本
朋也社区之前使用的方法是,在java代码里调用js,然后通过调用js里的方法来解析markdown的,但性能太渣,然后在github上找了找,发现 pegdown 挺好,就折腾了下,完全可以实现朋也社区需要的功能.
引入依赖
org.pegdown
pegdown
1.6.0
解析类配置
private final static PegDownProcessor md = new PegDownProcessor(Extensions.ALL_WITH_OPTIONALS);
public static String pegDown(String content) {
return md.markdownToHtml(content);
}
最后调用
public String marked(String content) {
//处理@
List users = StrUtil.fetchUsers(content);
for (String user : users) {
content = content.replace("@" + user, "[@" + user + "](/user/" + user + ")");
}
//markdown 转 html 并返回
return Jsoup.clean(MarkdownUtil.pegDown(content), Whitelist.relaxed());
}
担心markdown会遭到xss攻击?
Jsoup.clean() 即可解决!
唯一缺陷是,jar包有6-7个。。
本文由 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:
2020/07/15 06:41