如何使用javascript将文本链接转换为客户端的HTML链接

时间:2010-05-30 08:14:20

标签: javascript jquery html css database

在我的数据库中,我保存了表单中的所有链接:

www.example.com or http://www.example.com

有没有办法将此文本链接转换为客户端的HTML链接(例如javascript),标签和参数如下?:

<a href="http://www.example.com" rel="nofollow">www.example.com</a>

2 个答案:

答案 0 :(得分:5)

这可能在服务器端更聪明,就像cherouvim建议的那样,但是这是一个(天真的)javascript函数,它针对指定的格式执行此操作(带和不带http://-prefix的URL)

    function makeLink(link) { 
        var url, desc;

        if (link.match('^http://')) {
            url = link;
            desc = link.substr(7, link.length - 7);
        } else {
            url = 'http://' + link;
            desc = link;
        }

        return '<a href="' + url + '" rel="nofollow">' + desc + '</a>';
    }

请注意,它不能很好地处理意外输入(https ...),因此请不要在生产环境中使用原样:)

答案 1 :(得分:0)

我会这样试试:

text.replace(/([A-Za-z]+:\/\/)?[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(url) {
return url.link(url);
})