0

嗨,我有很好的旧替换纯 url 来链接问题。我正在使用 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 标签时,它似乎包含在链接中!我试过向前看,但似乎我没有做对。一个示例文本是

 <p>www.something.here/something</p>
4

1 回答 1

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>')

基于这个正则表达式:http ://blog.mattheworiordan.com/post/13174566389/url-regular-expression-for-links-with-or-without-the 。

于 2012-11-28T00:01:12.700 回答