是否有一种简单的方法可以使用正则表达式查找所有匹配的字符串,然后使用部分结果作为替换?
例如,请考虑以下示例:
tpl: '<a href="{link_url}">{link_html}</a>';
在这里,我想运行一个简单的RegEx来查找与'{string}'模式的任何匹配,然后使用花括号之间的内容作为数组键。因此,该示例的结果将是:
array [link_url]和array [link_html]
谢谢!
答案 0 :(得分:2)
如果我理解正确,你需要这样的东西:
var map = {link_url: 'msn.com', link_html: 'MSN' };
var str = '<a href="{link_url}">{link_html}</a>';
str = str.replace(/\{(\w+)\}/g, function(m, p1) {
return map[p1];
});
将返回
'<a href="msn.com">MSN</a>'