我想使用JavaScript String replace()方法执行全局替换。
原始字符串:
<image>imageURL</image>
结果:
<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>");
}
答案 0 :(得分:2)
这里更简单,你可以返回
text.replace(/<image>([^<]+)<\/image>/ig,'<img src="$1"/>')
请注意,我没有尝试检查网址的有效性。我认为最好不要在这里进行部分伪造检查。 [^<]+
表示&#34;某些字符不是<
&#34;。如果您愿意,可以将其替换为您的URL检查正则表达式。