我已经使用这个解决方案很长一段时间了:
function linkify(text) {
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
return text.replace(exp, "<a href='$1' target='_blank'>$1</a>");
}
但是,此解决方案仅转换字符串中的某些类型的网址,甚至不使用www.google.com
之类的链接(需要以http://
开头)
因此,我想询问是否有更合适的解决方案,最好是可以转换google.com
的解决方案; mail.google.com
,甚至del.icio.us
以及电子邮件地址。
我在寻找太多了吗?我们可以在大多数地方实时看到这种情况 - 正确的路线是什么?
答案 0 :(得分:0)
查看此regexr:http://www.regexr.com/39suh
将http
等放入匹配的组中,并在网址中输入.
。我确信这不是最理想的解决方案,但它可以正常工作......
(\b((https?|ftp|file):\/\/)?[A-Z0-9.]*\.[-A-Z0-9+&@#\/%=~_.|]+)