0
如何一次替换多个字符串?例如,有一个像下面的代码:Node.js立即替换多个字符串
// the 'content' is part of html, so it all addjoined,
// but I delete some tags and sepeate tag to look clean
// *** the content is mongodb data
var content ='<p>ggfhjghgk<a class="mg-popup-img" href="/uploads/2016040117124079.png"><img class="pop" style="max-width: 100%; max-height: 100%;" src="/uploads/2016040117124079.png" /></a></p>
'
我所要做的是,替换图片名称为新的。所以每个文件名都会有所不同。像这样:
<p>ggfhjghgk<a class="mg-popup-img" href="/uploads/2016050117124079.png"><img class="pop" style="max-width: 100%; max-height: 100%;" src="/uploads/2016050117124079.png" /></a></p>
我使用Google搜索,并找到了几个docuemnts。像这样的:Replace multiple strings at once 于是,我就
String.prototype.replaceArray = function(find, replace) {
var replaceString = this;
for (var i = 0; i < find.length; i++) {
replaceString = replaceString.replace(find[i], replace[i]);
}
return replaceString;
};
var originals = ['20160401', '20160402', '20160403'];
var newnames = ['20160501', '20160502', '20160503'];
var newcontent = content.replaceArray(originals, newnames);
console.log(newcontent); // not working properly.-> It's not changed.
我怎样才能做到这一点属性格式?其实,我正在尝试实施“文章复制任务”。当用户复制文章时,如果文章有图像标签,我应该复制图像文件并将图像src替换为新的。赞赏任何指针......谢谢。
请及时清理你的代码,或者更好的解释。就目前而言,您所展示的代码是**而不是真正的JavaScript。你在使用React JSX吗?提到这一点。但即使你这样做,这个“内容”分配也绝对不行。 –
@ Mike'Pomax'Kamermans这个'content'是actullay mongo db数据,它有很多双引号。对不起,但我不知道如何表达它.. – Juntae
因此请在你的问题中解释一下。你从MongoDB获取数据。成像你必须编写一个单元测试:内容*实际上*包含了什么,它可以在没有mongodb连接的情况下继续工作?显示*。 –