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

server/2025/1/11 1:07:18/
htmledit_views">

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 要替换的前缀路径,路径记得最后+斜杠* */@Overridepublic String ImgSrcReplace(String html,String  newPrefix) {log.info("开始解析");// 使用 Jsoup 解析 HTMLDocument 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);}}// 获取修改后的 HTMLString updatedHtml = document.html();// 输出修改后的 HTMLlog.info(updatedHtml);return updatedHtml;}
}


http://www.ppmy.cn/server/157336.html

相关文章

IT面试求职系列主题-Jenkins

想成功求职&#xff0c;必要的IT技能一样不能少&#xff0c;先说说Jenkins的必会知识吧。 1) 什么是Jenkins Jenkins 是一个用 Java 编写的开源持续集成工具。它跟踪版本控制系统&#xff0c;并在发生更改时启动和监视构建系统。 2&#xff09;Maven、Ant和Jenkins有什么区别…

Ruby JSON 性能优化之旅:深入挖掘与持续改进

在优化 Ruby 的 JSON 处理性能的征程中&#xff0c;我们不断面临挑战&#xff0c;也持续收获着成果。在上一篇文章中&#xff0c;我们认识到若 ruby/json 在微基准测试中缺乏竞争力&#xff0c;公众对其的看法就难以改变。而致使 ruby/json 在微基准测试中表现欠佳的主要因素是…

ElasticsearchJavaClient工具类分析

最近升级了Elasticsearch版本&#xff0c;从7.X升级到8.X的变化还是比较大的&#xff0c;原来7版本用的是RestHighLevelClient&#xff0c;8.X弃用RestHighLevelClient转而支持ElasticsearchClient&#xff0c;并且api调用方式经过建造者模式的改造&#xff0c;变成了链式调用。…

如何升级node.js版本

升级Node.js可以通过多种方式来完成&#xff0c;以下是四种常见的方法&#xff1a; 方法一&#xff1a;使用Node.js官方安装程序 访问Node.js的官方网站&#xff0c;下载对应你操作系统的最新版本安装程序。通常&#xff0c;你可以 https://nodejs.org/en/download 找到你需…

第 2 章 HTML 网页编程基础教案

谢从华&#xff0c;高蕴梅 著.Web前端设计基础入门——HTML5、CSS3、JavaScript&#xff08;微课视频版&#xff09;,2023, 清华大学出版社. ISBN&#xff1a;9787302641261. 一、教学目标&#xff08;Objectives&#xff09; 1. 知识目标 - 学生能够理解 HTML 的基本概念&…

React 如何进行路由变化监听

一、使用react-router库&#xff08;以react-router-dom为例&#xff09; 1. 历史&#xff08;history&#xff09;对象监听 1.1 原理 react-router内部使用history对象来管理路由历史记录。可以通过访问history对象来监听路由变化。在基于类的组件中&#xff0c;可以通过组…

通义灵码在跨领域应用拓展之物联网篇

目录 一.引言 二.通义灵码简介 三.通义灵码在物联网领域的设备端应用 1.传感器数据采集 (1).不同类型传感器的数据读取 (2).数据转换与预处理 2.设备控制指令接收和执行 (1).指令解析与处理 (2).设备动作执行 四.通义灵码在物联网领域的云端平台应用 1.数据存储和管…

计算机网络的定义与发展历程

计算机网络的定义 计算机网络是指通过通信设备和传输介质将分布在不同地点的计算机及其相关设备&#xff08;如打印机、服务器等&#xff09;连接起来&#xff0c;按照一定的通信协议进行数据交换与资源共享的系统。计算机网络的基本功能包括&#xff1a;信息的传输、资源共享…