在我的分貝我已保存的表單中的每個環節:如何把文字鏈接到HTML鏈接在客戶端使用JavaScript
www.example.com or http://www.example.com
有沒有辦法把這種文字鏈接到HTML鏈接在客戶端側(如,JavaScript),具有觸殺和參數是這樣的:
<a href="http://www.example.com" rel="nofollow">www.example.com</a>
在我的分貝我已保存的表單中的每個環節:如何把文字鏈接到HTML鏈接在客戶端使用JavaScript
www.example.com or http://www.example.com
有沒有辦法把這種文字鏈接到HTML鏈接在客戶端側(如,JavaScript),具有觸殺和參數是這樣的:
<a href="http://www.example.com" rel="nofollow">www.example.com</a>
這很可能是更明智的做在服務器端一樣cherouvim建議,但這裏有一個(幼稚)JavaScript函數,這是否爲指定的格式(網址有和沒有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 ...)非常好,所以請不要爲,在生產環境中:)
你真的認爲'rel = nofollow'有什麼用處,因爲這是在客戶端生成的? – 2010-05-30 11:47:39
@nikc - 我只是在履行OP的要求。雖然採取了點。 – jevakallio 2010-05-30 12:04:59
糟糕!沒有看到那裏。抱歉。 :-) – 2010-05-30 12:09:43
我會嘗試像這樣使用:
text.replace(/([A-Za-z]+:\/\/)?[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(url) {
return url.link(url);
})
我很想下決心。這就像回答「生命,宇宙和一切的答案是什麼」這個問題。這可能是事實,但沒有真正解釋任何事情。 – 2010-05-30 11:50:34
由於您使用的是數據庫,因此您正在討論動態Web應用程序。爲什麼不在服務器端生成鏈接? – cherouvim 2010-05-30 08:16:58
有幾種解決方案,但需要更多信息。我建議在服務器端做一個cherouvim說 - 否則,是的,它可能與Javascript,但我們需要一些上下文。這個文本在哪裏?在同一區域是否還有其他定位標籤? – 2010-05-30 08:56:29