在我的数据库中,我保存了表单中的所有链接:
www.example.com or http://www.example.com
有没有办法将此文本链接转换为客户端的HTML链接(例如javascript),标签和参数如下?:
<a href="http://www.example.com" rel="nofollow">www.example.com</a>
答案 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);
})