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;
}
}