Extract and add link to URLs in string
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How to replace plain URLs with links?
我有几个字符串中有链接。例如:
1 | var str ="I really love this site: http://www.stackoverflow.com" |
我需要添加一个链接标签,这样str将是:
1 | I really love this site: http://www.stackoverflow.com |
我想可能会涉及到一些regex,但是我不能让它与match()一起工作。任何其他想法
这很容易:
1 | str.replace( /(http:\/\/[^\s]+)/gi , '$1' ) |
输出:
1 | I really love this site: http://www.stackoverflow.com |
1 2 3 4 | function replaceURL(val) { var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; return val.replace(exp,"$1"); } |
我可以想到一个快速而肮脏的基于正则表达式的解决方案。有点像
1 2 | RegExp exp = new RegExp('(.*)(http://[^ ])(.*)', 'g'); // matches URLs string = string.replace(exp, $1 + '' + $2 '' + $3); |
不过我还没有测试过,所以需要改进。