Ueditor中如何使用setContent() 不改变html里的图片路径
时间: 2024-03-12 16:50:31 浏览: 63
基于maven+springmvc+Ueditor,自定义上传图片路径,稳得不行
在使用 `setContent` 方法设置 HTML 内容时,Ueditor 提供了一个 `filterTxt` 方法,可以过滤掉 HTML 内容中的一些不需要的属性或元素,从而保留图片等资源文件的相对路径。
使用 `filterTxt` 方法的具体步骤如下:
1. 获取需要设置的 HTML 内容。
```javascript
var content = "<p>这是一段包含图片的 HTML 内容</p><img src='img/pic.jpg'>";
```
2. 在设置 HTML 内容之前,调用 `filterTxt` 方法对 HTML 内容进行过滤。
```javascript
content = editor.getOpt('filterTxt')(content);
```
3. 使用 `setContent` 方法设置过滤后的 HTML 内容。
```javascript
editor.setContent(content);
```
4. 在保存 HTML 内容时,如果需要将相对路径转换为绝对路径,可以使用 `getContent` 方法获取 HTML 内容,然后使用正则表达式替换相对路径。
```javascript
var content = editor.getContent();
content = content.replace(/src=['"]([^'"]+)['"]/g, function(match, p1) {
var absoluteUrl = new URL(p1, window.location.href).href;
return 'src="' + absoluteUrl + '"';
});
```
这样做的效果是过滤掉 HTML 内容中的一些不需要的属性或元素,并保留图片等资源文件的相对路径。在保存 HTML 内容时,可以将相对路径转换为绝对路径,从而避免图片等资源文件路径出错的问题。
阅读全文