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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐