我需要使用 js 替换模板中的值,但我遇到了问题,因为此 url 中有一个“$”字符弄乱了所有内容。
这是代码示例:
var url = "http://s7d3.scene7.com/is/image/LuxotticaRetail/8053672035704_shad_fr?$jpegdefault$&wid=45"
var template = '<img class="thumb-img" src="{{image_thumb}}">';
template = template.replace(/\{\{image_thumb\}\}/g, url);
console.log(template);
结果我得到了这个:
http://s7d3.scene7.com/is/image/LuxotticaRetail/8053672035704_shad_fr?$jpegdefault{{image_thumb}}wid=45
正如您所看到的,应该被替换的值位于字符串的中间:{{image_thumb}}
。
你知道我可以做些什么来让这个替换“忽略”$并保持url应有的样子吗?
我尝试使用 encodeURIComponent()
但它更改了我不想更改的网址的其他值..
有什么想法吗?
最佳答案
谢谢大家的帮助。
我找到了一个简单易用的解决方案:
template = template.replace(/\{\{image_thumb\}\}/g, function(){ return url });
这样,url 就会被保留,并且替换就像一个魅力
关于javascript - 由于特殊字符而尝试替换 javascript 中的 url 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32723656/