0
点赞
收藏
分享

微信扫一扫

html转markdown

小北的爹 2022-05-15 阅读 102

本篇文章主要介绍使用java类库将html转为markdown

java语言html转为markdown

remark

使用方法

  1. 添加pom依赖
    <dependency>
    <groupId>com.kotcrab.remark</groupId>
    <artifactId>remark</artifactId>
    <version>1.2.0</version>
    </dependency>
  2. java代码示例

    @Test
    public void html2Md() {
        Remark remark = new Remark();
        String html = "<p><b>测试</b><ul><li>列表1</li><li>列表2</li></ul><p><img src=\"https://file.cfanz.cn/uploads/png/2022/05/15/13/5Z2GY589I0.png\" alt=\"abc\"></p><a rel="nofollow" href=\"www.baidu.com\">百度</a></p>";
        String markdown = remark.convertFragment(html);
        System.out.println(markdown);
    }

    结果

    
    **测试**
    
    *  列表1
    *  列表2

abc

百度


### 缺点
1. 图片无法转换成直接可以使用的
2. 超链接无法正确提取
3. 很久没有维护了
4. 高等数学的括号无法正常转换

## flexmark
### 使用方法
1. pom.xml

<dependency>
<groupId>com.vladsch.flexmark</groupId>
<artifactId>flexmark-all</artifactId>
<version>0.64.0</version>
<scope>test</scope>
</dependency>

测试用了`flexmark-all`,可以根据功能选择自己需要的
2. java示例

@Test
public void html2Md01() {
String html = "<p><b>测试</b><ul><li>列表1</li><li>列表2</li></ul><p><img src=\"https://file.cfanz.cn/uploads/png/2022/05/15/13/5Z2GY589I0.png\" alt=\"abc\"></p><a rel="nofollow" href=\"www.baidu.com\">百度</a></p>";
FlexmarkHtmlConverter converter = FlexmarkHtmlConverter.builder().build();
System.out.println(converter.convert(html));
}

输出

测试

  • 列表1
  • 列表2

abc
百度

<br />


### 存在的问题
1. 高等数学公式无法转换

### 优点
1. 更新时间相对较新
2. 准确率相对较高

## 参考
[flexmark示例](https://gitee.com/code_share_1001/flexmark-java/tree/master/flexmark-java-samples)
[数学公式转换](https://www.jianshu.com/p/383e8149136c)

> 学习交流:513650703
举报

相关推荐

0 条评论