Помогите сделать autolink js? Задача сделать гиперссылки в тексте автоматически кликабельными как в Google Docs, iCloud Pages и MS Word. Наподобии такого
Имеется
<div id="text" class="status" onclick="this.contentEditable=true;" contenteditable="true"></div>
и скрипт:
function replaceURLWithHTMLLinks(text,re) {
return text.replace(re, function(match, lParens, url) {
var rParens = '';
lParens = lParens || '';
var lParenCounter = /\(/g;
while (lParenCounter.exec(lParens)) {
var m;
if (m = /(.*)(\.\).*)/.exec(url) ||
/(.*)(\).*)/.exec(url)) {
url = m[1];
rParens = m[2] + rParens;
}
}
return lParens + "<a onclick=window.open("+url+"); href='" + url + "'>"
+ url + "</a>" + rParens;
});
}
var text = document.getElementById('text');
var re = /(http|https)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/;
if (text.innerHTML.match(re)) {
text.onkeydown =(function() {
alert(replaceURLWithHTMLLinks(text.innerHTML,re));
text.onmouseover = (function() {
this.contentEditable = false;
this.innerHTML = replaceURLWithHTMLLinks(this.innerHTML,re);
});
});
}
Не могу понять почему не работает. подскажите как можно сделать подобное? Спасибо.