用锚标记替换url字符串(在文本中)的最简单方法是什么?

时间:2011-09-07 08:57:01

标签: javascript anchor css

我有文字:

I love Stackoverflow so much, so please visist http://stackoverflow.com

如何将其转换为:

I love Stackoverflow so much, so please visist <a href='http://stackoverflow.com'>http://stackoverflow.com</a>

以最简单的方式使用javascript?

请注意,文字中的网址可能没有http://且没有wwww,但我希望属性href至少包含http://。还要考虑到某些链接是https://

1 个答案:

答案 0 :(得分:1)

试试这个 -

var text = 'I love Stackoverflow so much, so please visist http://stackoverflow.com';
result = text.replace(/(\b(https?|ftp|file):\/\/[\-A-Z0-9+&@#\/%?=~_|!:,.;]*[\-A-Z09+&@#\/%=~_|])/img, '<a href="$1">$1</a>');
alert(result);

工作演示 - http://jsfiddle.net/5cKhn/

RegEx取自RegEx Buddy

内的RegEx库