jsoup 实现替换img标签的src
时间: 2023-11-01 16:06:48 浏览: 107
你可以使用 Jsoup 库中的方法来遍历 HTML 文档中的所有 img 标签,并使用 setAttribute 方法替换其 src 属性。以下是一个示例代码:
```java
Document doc = Jsoup.parse(html); // 解析 HTML 文档
Elements imgs = doc.select("img"); // 获取所有 img 标签
for (Element img : imgs) { // 遍历 img 标签
String oldSrc = img.attr("src"); // 获取原始 src 属性
String newSrc = // 替换为新的 src 属性
img.attr("src", newSrc); // 设置新的 src 属性
}
String newHtml = doc.toString(); // 生成新的 HTML 文档
```
以上代码将遍历所有 img 标签并替换其 src 属性,最后生成一个包含所有修改后内容的新的 HTML 文档。你可以根据需要修改代码以满足你的需求。
相关问题
使用Jsoup获取html中所有img标签属性src的url地址,并进行替换
好的,我来解答您的问题。
首先需要导入Jsoup库,然后通过以下代码获取html中所有img标签属性src的url地址:
```java
Document doc = Jsoup.parse(html);
Elements images = doc.select("img[src]");
List<String> urls = new ArrayList<>();
for (Element image : images) {
String url = image.attr("src");
urls.add(url);
}
```
接下来,您可以对urls中的URL进行替换,例如将其中的"http"替换为"https",代码如下:
```java
for (int i = 0; i < urls.size(); i++) {
String url = urls.get(i);
url = url.replace("http", "https");
urls.set(i, url);
}
```
最后,您可以将替换后的URL设置回img标签的src属性中,代码如下:
```java
for (Element image : images) {
String url = urls.get(images.indexOf(image));
image.attr("src", url);
}
String resultHtml = doc.toString();
```
这样就完成了对html中所有img标签属性src的url地址的获取和替换。
如何在jsoup 1.15.3中替换白名单功能?
在jsoup 1.15.3及更高版本中,如果`Whitelist.basicWithImages()`不再有效,你可以通过其他方式进行HTML元素的过滤和加载。jsoup的文档通常会提供新的API说明和示例。以下是替换白名单功能的一种常见做法:
```java
// 使用ElementFilter来选择要加载的元素
Document doc = Jsoup.connect("http://example.com").get();
doc.setParser(new Parser().whitelist(Elements.<String>select("a[href], img[src]")));
// 或者,如果你想要更细粒度的控制,可以使用ElementSelectors
doc.setLoadFlags(ElementSelectors.all().except(ElementSelectors.tag("script")).except(ElementSelectors.attr("style")));
// 确保检查最新的文档,因为API的具体细节可能会有所变化
```
记得查看jsoup 1.15.3的官方教程或API参考以获取最准确的指导。
阅读全文