Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript regex中的encodeuric组件_Javascript_Jquery_Regex_Replace_Encode - Fatal编程技术网

Javascript regex中的encodeuric组件

Javascript regex中的encodeuric组件,javascript,jquery,regex,replace,encode,Javascript,Jquery,Regex,Replace,Encode,我有更多这样的div: <span class="date">Fri November 9, 2012</span> 所有这些都在一个var中。 例如: 我尝试用包含此日期的图像替换每个日期 我有这一行,但这行不通: ver = ver.replace(/<span class="date">(.*)<\/span>/g,'<span class="date"><img src="generateLink.php?nr='+en

我有更多这样的div:

<span class="date">Fri November 9, 2012</span>
所有这些都在一个var中。 例如:

我尝试用包含此日期的图像替换每个日期

我有这一行,但这行不通:

ver = ver.replace(/<span class="date">(.*)<\/span>/g,'<span class="date"><img src="generateLink.php?nr='+encodeURIComponent($1)+'" /></span>');

我的问题是:我不能在regex中使用encodeURIComponent?

使用replace with callback函数

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
});

使用replace-with回调函数

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
});

要执行此操作,您必须先匹配,然后替换为匹配结果。此操作不需要编码。要执行此操作,您必须先匹配,然后替换为匹配结果。此操作不需要编码。注意:最好使用[^注意:最好使用[^