javascript - 在 node.js 中删除和添加属性到 html 字符串
问题描述
所以在我的 node.js 后端我有一个对象,它的content
属性包含一个 HTML 字符串。现在有一个 img 元素,我想将属性 src(现在是一个 base64 字符串)替换为我的上传文件夹的路径。如何更改此 src 属性?
这是 req.body.content。我想将 img 元素的 base64 src 替换为我选择的东西
{ content: '<p><br></p><p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAMAAAAJbSJIAAAAmVBMV.. }
解决方案
如果您确定字符串中只有一张图像,则可以使用正则表达式替换:
let new_content = content.replace(/src="[^"]+"/, 'src="new contents of the attribute"');
这将替换您的 html 中的每个 src 属性,因此请确保您没有多个。
如果您有更具体的需求,我通常使用cheerio ( https://www.npmjs.com/package/cheerio ) 加载 html 并像在 jquery(-ish) 中一样对其进行编辑。
([^"]+
正则表达式中的代表“匹配多个不是的字符"
”,这通常是我在已知边界内选择某些内容的方式)
推荐阅读
- python - MQRNN(Seq2Seq LSTM + MLP)模型给出恒定预测
- javascript - 使用可选的第一个参数表达包罗万象的路线
- r - 将字符列格式化为带有小于和大于符号的数字
- python - 在不同的工作之间共享相同的工作空间
- r - 使用 ifelse 和 %in% 在 r 中创建一个新变量
- android - 如何处理多个 NavHosts/NavControllers?
- bazaar - 集市不能破锁
- google-apps-script - 如何在不使用公式的情况下使用旧数据创建新工作表
- netbeans - 如何在 Netbeans 11.0 中禁用 HTML 类警告“找不到类”
- fortran - 我可以使变量在多个函数调用中保持不变,但对于 openMP fortran 中的每个线程都是本地的吗?