javascript - 由于特殊字符而尝试替换 javascript 中的 url 时出现问题

标签 javascript html regex replace

我需要使用 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/

相关文章:

javascript - 如何自动提交所有选中check_box的表单?

javascript - javascript从另一个方法调用方法

Javascript + IMG 标签 = 内存泄漏。有一个更好的方法吗?

python - 需要 python 正则表达式来处理子字符串

r - 如何使用gsub和regex来识别和删除连续的符号?

javascript - 抛出异常时不要停止 JavaScript

javascript - 如何在tinymce中集成多个插件?

html - CSS:如何将图像宽度设置为大于容器的宽度

javascript - SVG折线使响应

Python正则表达式