对table中有图片的情况进行处理,将图片提取出来,删除table,解决图片带有边框问题

/**
 * 对table中有图片的情况进行处理,将图片提取出来,删除table,解决图片带有边框问题
 * @param result
 * @return
 */
private String dealTableContainImg(String result) {
    // 解析 HTML 字符串
    Document doc = Jsoup.parse(result);
 
    Elements tableElements = doc.select("table");
    if (!tableElements.isEmpty()) {
        for (Element tableElement : tableElements) {
            // 获取 table 元素的下一个兄弟元素
            Element nextSibling = tableElement.nextElementSibling();
 
            Elements imgElements = tableElement.select("img");
            if (!imgElements.isEmpty()){
                // 将 img 标签插入到新的容器中
                for (Element img : imgElements) {
                    // 创建一个新的元素来存放 img 标签
                    Element pContainer = doc.createElement("p");
                    pContainer.addClass("vsbcontent_img");
                    pContainer.appendChild(img);
 
                    // 将 img 容器插入到 table 的下一个兄弟元素之前
                    if (nextSibling != null) {
                        nextSibling.before(pContainer.outerHtml());
                    } else {
                        tableElement.parent().appendChild(pContainer);
                    }
                }
                // 删除 table 标签
                tableElement.remove();
            }
 
        }
    }
 
    return doc.html();
}

你可能感兴趣的:(java,开发语言)