我有更多像这样的DIV:
<span class="date">Fri November 9, 2012</span>
所有这些都属于var。 例如:
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>');
我的问题是:我不能在正则表达式中使用 encodeURIComponent ?
答案 0 :(得分:4)
使用replace with callback function
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
});