@KOT301

Как сделать autolink?

Помогите сделать autolink js? Задача сделать гиперссылки в тексте автоматически кликабельными как в Google Docs, iCloud Pages и MS Word. Наподобии такого

i4YPG.gif
Имеется
<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);
    });
    });
    }

Не могу понять почему не работает. подскажите как можно сделать подобное? Спасибо.
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы