我有更多这样的 DIV:
<span class="date">Fri November 9, 2012</span>
所有这些都在一个变量中。 示例:
var = '
...<span class="date">Fri November 9, 2012</span>...
...<span class="date">Fri November 9, 2012</span>...
';
我尝试用包含该日期的图像替换每个日期。
我有这条线,但这行不通:
ver = ver.replace(/<span class="date">(.*)<\/span>/g,'<span class="date"><img src="generateLink.php?nr='+encodeURIComponent($1)+'" /></span>');
我的问题是:我不能在 regex 中使用 encodeURIComponent 吗?
最佳答案
使用回调函数替换
ver = ver.replace(/<span class="date">([^<]*)<\/span>/g,
function($0,$1) {
return '<span class="date"><img src="generateLink.php?nr='+encodeURIComponent($1)+'" /></span>'
});
还可以更简单
ver = ver.replace(/(<span class="date">)([^<]*)(<\/span>)/g,
function($0,$1,$2,$3) {
return $1+'<img src="generateLink.php?nr='+encodeURIComponent($2)+'" />'+$3
});
关于javascript - 正则表达式中的 encodeURIComponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13306264/