获取markdown文本里的图片和视频

本文展示了如何使用Jsoup和Markdown库解析内容,提取并组织HTML中的视频(src)和图片(src)链接。通过convertMarkdownToHTML函数,将Markdown格式转换为HTML,然后提取并存储到sourcesList中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要导入的包
implementation group: 'org.jsoup', name: 'jsoup', version: '1.14.3'
implementation 'org.commonmark:commonmark:0.17.2'
implementation 'org.commonmark:commonmark-ext-image-attributes:0.17.2'
public static void main(String[] args) {
    String content = "这是什么\n" +
            "\n" +
            "<video alt=\"trim.5EF49CB2-BA3B-4348-AB3B-AB2FFE1AC79C.MOV\" src=\"https://docs.xx.com/yWTGNd4s5fcyzCdeb1h4yAsFRDrf3ATrtrim.5EF49CB2-BA3B-4348-AB3B-AB2FFE1AC79C.MOV\" controls=\"\"></video>\n" +
            "\n" +
            "![5A796345-B671-49F3-B2AC-976329350316.png](https://docs.yuekedashi.com/aJppThBY2eRXSdmDXiamYWxzJpchi8XK5A796345-B671-49F3-B2AC-976329350316.png)\n"+
            "1\n" +
            "\n" +
            "\n" +
            " \n" +
            "<video alt=\"trim.39F6CB74-A222-498C-8708-B21AD548714B.MOV\" src=\"https://docs.xx.com/Mmi9PCRZAMFbXMtZxaSKdeepjRp4A6NFtrim.39F6CB74-A222-498C-8708-B21AD548714B.MOV\" controls=\"\"></video>\n" +
            "\n" +
            " \n" +
            " ![96A132EC-5698-460F-8FFD-40EF1122CB0B.jpeg](https://docs.yuekedashi.com/nDPd948r6m8DbcMnD7nBfBXDrH5s79kF96A132EC-5698-460F-8FFD-40EF1122CB0B.jpeg)\n";

   

    String htmlValue = convertMarkdownToHTML(content);

    Element doc = Jsoup.parseBodyFragment(htmlValue).body();

    List<Sources> sourcesList = new ArrayList<>();
    Elements images = doc.select("img");
    for (Element element : images){
        String img = element.attr("src");
        Sources sources = new Sources(1,img);
        sourcesList.add(sources);
    }
    Elements videos = doc.getElementsByTag("video");
    for (Element element : videos){
        String video = element.attr("src");
        Sources sources = new Sources(2,video);
        sourcesList.add(sources);
    }
}

public static String convertMarkdownToHTML(String markdown) {
    List<Extension> extensions = Arrays.asList(ImageAttributesExtension.create());
    Parser parser = Parser.builder().extensions(extensions).build();
    Node document = parser.parse(markdown);
    HtmlRenderer htmlRenderer = HtmlRenderer.builder().extensions(extensions).build();
    return htmlRenderer.render(document);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值