代码之家  ›  专栏  ›  技术社区  ›  xRobot

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

  •  0
  • xRobot  · 技术社区  · 15 年前

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

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

    有没有一种方法可以在客户端将这个文本链接转换成HTML链接(例如javascript),并带有这样的标记和参数

    <a href="http://www.example.com" rel="nofollow">www.example.com</a>
    
    2 回复  |  直到 15 年前
        1
  •  5
  •   jevakallio    15 年前

    像cherouvim建议的那样,在服务器端这样做可能更聪明,但是这里有一个(简单的)javascript函数,它可以为指定的格式(url带和不带)这样做 http://-prefix )

        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…),因此请不要在生产环境中按原样使用:)

        2
  •  0
  •   fb55    15 年前

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