Java将String类型的html文本中的img路径替换前缀

1.引入jsoup包

复制代码
<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.13.1</version>
</dependency>

2.编写代码

复制代码
@Service
@Slf4j
public class ImgSrcReplaceServiceImpl implements ImgSrcReplaceService {

    /**
     * @param html html文本
     * @param newPrefix 要替换的前缀路径,路径记得最后+斜杠
     * */
    @Override
    public String ImgSrcReplace(String html,String  newPrefix) {
        log.info("开始解析");
        // 使用 Jsoup 解析 HTML
        Document document = Jsoup.parse(html);
        // 查找所有 img 标签
        Elements imgTags = document.select("img");
        // 修改 img 标签的 src 属性
        for (Element imgTag : imgTags) {
            String src = imgTag.attr("src");
            // 检查图片路径是否包含随机数,假设随机数存在于路径的前缀中
            if (src != null && !src.isEmpty()) {
                // 假设我们要替换路径的前缀部分,可以修改 "https://example.com/" 为新的前缀
//                String newPrefix = "https://zxd.com/"; // 你可以根据需要定义新的前缀
                String fileName = src.substring(src.lastIndexOf("/")); // 获取图片文件名(包含扩展名)
                // 构建新的 src 路径
                String newSrc = newPrefix + fileName;
                // 设置新的 src 属性
                imgTag.attr("src", newSrc);
            }
        }
        // 获取修改后的 HTML
        String updatedHtml = document.html();
        // 输出修改后的 HTML
        log.info(updatedHtml);
        return updatedHtml;
    }
}
相关推荐
ZoeLandia4 分钟前
TypeScript 04:类型断言与类型守卫
开发语言·前端·typescript
java水泥工7 分钟前
什么是前端
java·vue·html5
guzicheng19907 分钟前
webpack 安装笔记:全局 vs 本地,以及一个 PATH 环境变量的坑
前端·webpack
西索斯coding14 分钟前
Claude Code 工具调用返回空怎么办?claude-opus-5.5 的 input_schema 校验踩坑记录与修复方案
服务器·前端·javascript·ai
疯狂敲代码的老刘14 分钟前
MarvellousSuspender浏览器扩展:1.4K星开源标签页冻结神器,Chrome吃内存终结者的干净复活版
前端·chrome
码上上班16 分钟前
shell 脚本知识点总结
前端·chrome
程序员Sunday17 分钟前
Flex 和 Grid 有什么区别?一维布局、二维布局怎么选?
前端·css·面试
Jlzn888819 分钟前
华南PACK线自动化率怎么统计才靠谱
前端·javascript·自动化
Rain的Java大神之路21 分钟前
Java 工程师做 AI,核心机会在「落地」而非「训练」
java·后端·ai编程
拖孩39 分钟前
AI 时代,个人开发者到底能不能靠一个小程序赚到钱
前端·后端·微信小程序