使用jquery自动链接页面中的URL

时间:2013-04-10 07:26:58

标签: jquery

我需要自动链接网页中的网址。

例如

这是一个html内容,包含文本网址www.example.com和链接网址< a href ='www.example.com'>示例< / a>。它可能跟http之后是[http://www.example.com]

我需要结果如下:

这是一个html内容,包含文字网址http://www.example.com和链接网址http://www.example.com。它可能跟着像http://www.example.com

这样的http

我使用了以下功能,但它没有使用以www。

开头的网址

    jQuery.fn.autolink = function() {
        return this.each(function() {
            //URLs starting with http://, https://, or ftp://
            var re = /((http|https|ftp):\/\/[\w?=&.\/-;#~%-\{\}$!|]+(?![\w\s?&.\/;#~%"=-]*>))/g;
            $J(this).html($J(this).html().replace(re, '$1 '));
        });
    }

2 个答案:

答案 0 :(得分:0)

尝试这样的事情。这将修改href属性和超链接的html。

$("a").each(function(k,v){
   this.attr("href","http://"+this.attr("href"));
   this.html("http://www."+this.html()+".com");
})

答案 1 :(得分:0)

使用此功能并将您的锚标记文本URL作为urlname传递并将href作为linkname

传递
function replaceURLWithHTMLLinks(urlname, linkname) {

if (linkname && !linkname.match(/^http([s]?):\/\/.*/)) {
    linkname = 'http://' + linkname
}
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/i;
return linkname.replace(exp,"<a href='$1'>"+urlname+"</a>"); 

}