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;
    }
}
相关推荐
热爱编程的小李33 分钟前
基于若以开发的新版情怀麻将后台
java
晴天162 小时前
前端 postMessage 使用场景
前端·javascript·网络
zhanghaha13143 小时前
HTML系列教程:15_标签 全称 + 简写 超详细讲解(新手专用)
前端·html
zhanghaha13143 小时前
HTML系列教程:14_HTML 表单与输入框 <form>、<input> 零基础详解
java·前端·javascript
IMPYLH3 小时前
HTML 的 <samp> 元素
前端·网络·html
IMPYLH3 小时前
HTML 的 <script> 元素
前端·html
weixin_493503677 小时前
Vue3 前端生成 PDF:会员证书与活动签到表的三种打印方案与踩坑记录
前端·pdf·状态模式
yxlalm8 小时前
Spring AI+RAG 01-项目背景与技术选型
java·人工智能·spring
程序员清风9 小时前
Java 后端高并发设计:线程池、限流、熔断与降级
java·数据库·oracle
Seoyoneh9 小时前
Agentic Workflow编排架构:云客服从“被动响应”迈向“主动执行”的技术实现
java·开发语言·架构