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

Java如何解析markdown_Java类库解析markdown文本相关推荐

  1. vue使用marked解析markdown文本遇到的坑及解决方法

    vue使用marked解析markdown文本遇到的坑及解决方法 1. 前言 最近在搭建自己的博客网站 https://lyuanzhi.com,不免遇到了要把markdown文本转化为html代码的 ...

  2. mysql解释器_atitit.java解析sql语言解析器解释器的实现

    atitit.java解析sql语言解析器解释器的实现 1. 解析sql的本质:实现一个4gl dsl编程语言的编译器 1 2. 解析sql的主要的流程,词法分析,而后进行语法分析,语义分析,构建sq ...

  3. Java解析XML(DOM解析和SAX解析)

    前言:在程序中访问和操作XML文件一般有两种模型:DOM(文档对象模型)和流模型:在本篇文章中分别对应DOM解析和SAX解析. 目录 1 .DOM解析与SAX解析的相关知识点 1.1 DOM 1.2 ...

  4. Java中如何利用gson解析数据

    最近在学习Java,需要用到json,本人对java不是特别精通,于是开始搜索一些java平台的json类库. 发现了google的gson,带着一些好奇心,我开始使用了gson. 经过比较,gson ...

  5. 23道易忽略的java面试题及答案解析

    23道易忽略的java面试题及答案解析 转载:https://mp.weixin.qq.com/s/aL1xHKDfpojVVUOsdbvPzQ 1.你认为项目中最重要的过程是那些? 分析.设计阶段 ...

  6. java注解,通过反射解析注解,模仿hibernate,获取sql语句。

    常用注解: 自定义注解,标准格式: 1,target:注解作用域 2,Retention:声明周期 运行子类继承,但是子类继承只能作用到类注解,字段注解,是继承不了的. 使用注解:通过下面这种方式,为 ...

  7. Java中的static关键字解析 转载

    原文链接:http://www.cnblogs.com/dolphin0520/p/3799052.html Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到 ...

  8. java蓝桥杯凑算是,第七届蓝桥杯JAVA B组真题解析-凑算式(第三题)

    第七届蓝桥杯JAVA B组真题解析-凑算式(第三题) 凑算式 A+B/C+DEF/GHI =10 (如果显示有问题,可以参见[图1.jpg]) 这个算式中AI代表19的数字,不同的字母代表不同的数字. ...

  9. XML 解析错误:XML 或文本声明不在实体的开头位置,有效的解决方法

    2019独角兽企业重金招聘Python工程师标准>>> 昨天在测试APP接口返回XML数据的时候( http://my.oschina.net/woshixiaomayi/blog/ ...

最新文章

  1. leetcode:Search in Rotated Sorted Array
  2. 验证(verification)和确认(validation)
  3. SAP MM初阶之事务代码MIGO界面批次拆分最多输入15行?
  4. Eclipse解决JSP页面乱码问题
  5. c#中out和ref的使用区别 [转]
  6. Python进阶03 模块
  7. 有什么事情是你当了程序员之后才知道的?
  8. python简单爬虫入门一_Python爬虫快速入门:基本结构简单实例
  9. python模块paramiko与ssh
  10. python表白代码大全-python表白代码
  11. PDMS二次开发(五)——小试牛刀之细节整理和收尾
  12. python代码如何转java_将简单的Python代码转换为Java方法
  13. cad快速看图2020|cad迷你画图2020 附安装教程
  14. VS2013 百度云资源以及密钥
  15. ThreadLocal的坑--ThreadLocal跨线程传递问题
  16. 微信小程序跳转微信小店
  17. python编写随机获取ip免费调用有道翻译
  18. 统计学中的白噪声理解
  19. 厉害了,蚂蚁金服!创造了中国自己的数据库OceanBase
  20. Android中级——色彩处理和图像处理

热门文章

  1. VLAN详解系列:(5)IEEE802.1Q与ISL
  2. 等离子纳秒高压脉冲电源维修HVP-20 P
  3. MAYLAND HOME官网上线 | LTD家居家装行业案例分享
  4. 电商平台京东商品详情接口调用展示
  5. 从校园到职场 - 技能与职位
  6. 【023】tomcat 启动失败,提示 Failed to initialize end point associated with ProtocolHandler 的解决方法
  7. navicat删除注册表文件_Navicat Premium 12 卸载和注册表的删除
  8. python的自带数据集_Python——sklearn提供的自带的数据集
  9. HTTP请求包文格式
  10. 通用业务平台设计(五):预警平台建设