嗨,我有一个很好的旧的替换普通网址链接问题。 我正在使用Jeff Roberson的代码中的linkify, 但由于它不支持伪URL(www。),我试图用我发现的另一个正则表达式添加它。 到目前为止,我一直坚持这个
var replacePattern2 = /(^|[^\/])(www\.[\S]+(\b|$))/gim;
text.replace(pseudoUrlPattern, '$1<a target="_blank" href="http://$2">$2</a>')
文本可以是html标记,当链接有一个没有任何空格的结束标记时,它似乎包含在链接中!我试着向前看,但似乎我没有把它弄好。 示例文本将是
<p>www.something.here/something</p>
答案 0 :(得分:0)
这样的事情怎么样:
var text = "<p>www.something.here/something</p>";
var replacePattern2 = /(.*?)(((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+))((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/gim;
text.replace(replacePattern2, '$1<a target="_blank" href="$4">$4</a>')