JavaScript全局替换

时间:2014-03-12 10:27:39

标签: javascript

我想使用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>"); 
}

1 个答案:

答案 0 :(得分:2)

这里更简单,你可以返回

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

请注意,我没有尝试检查网址的有效性。我认为最好不要在这里进行部分伪造检查。 [^<]+表示&#34;某些字符不是<&#34;。如果您愿意,可以将其替换为您的URL检查正则表达式。