Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.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全局替换_Javascript - Fatal编程技术网

JavaScript全局替换

JavaScript全局替换,javascript,Javascript,我想使用JavaScript字符串replace()方法执行全局替换 原始字符串: <image>imageURL</image> imageURL 结果: <img src="imageURL" /> 如何实现?它应该与下面的代码类似,但我不知道如何编写表达式。提前谢谢 function replaceURLWithHTMLLinks(text) { var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+

我想使用JavaScript字符串replace()方法执行全局替换

原始字符串:

<image>imageURL</image>
imageURL
结果:

<img src="imageURL" />

如何实现?它应该与下面的代码类似,但我不知道如何编写表达式。提前谢谢

function replaceURLWithHTMLLinks(text) {
    var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
    return text.replace(exp,"<a href='$1'>$1</a>"); 
}
函数replaceurlwithhtmlinks(文本){
var exp=/(\b(https?| ftp |文件):\/\/[-A-Z0-9+&@#\/%?=~~|!:,.;]*[-A-Z0-9+&@#\/%=~|]/ig;
返回文本。替换(exp,“”);
}

这里更简单,您可以返回

text.replace(/<image>([^<]+)<\/image>/ig,'<img src="$1"/>')

text.replace(/([^你正在将XML转换为HTML吗?那么你不应该使用RegExp。简单的建议:只抓取
imageURL
,然后用该imageURL创建你的
标记!为什么人们会投票反对男人?我看不出任何理由!@user1708762我没有投票反对,但OP应该在问之前更努力地构建一个regex。嗨,Pavlo,我没有将XML转换为HTML,只需替换字符串。嗨,dystroy,谢谢你的回答,它工作得很好,但另一个问题出现了,my replaceURLWithHTMLLinks()函数也尝试替换图像url,如何避免这种情况?@zizibj你似乎正在为一种格式转换成另一种格式。这不是小事(有时最好使用解析器来完成)。它似乎类似于。你应该检查一下。嗨,dystroy,谢谢分享,看看如何让它工作,非常好。