Как превратить текстовые ссылки в HTML-ссылки на стороне клиента с помощью JavaScript - PullRequest
0 голосов
/ 30 мая 2010

В моей БД я сохранил все ссылки в форме:

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

Есть ли способ превратить эти текстовые ссылки в ссылки HTML на стороне клиента (например, javascript) с такими тегами и параметрами?:

<a href="http://www.example.com" rel="nofollow">www.example.com</a>

Ответы [ 2 ]

5 голосов
/ 30 мая 2010

Это, вероятно, было бы разумнее сделать на стороне сервера, как предложил cherouvim, но вот (наивная) функция javascript, которая делает это для указанных форматов (url с http: // - префикс и без него )

    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 ...), поэтому, пожалуйста, не используйте как есть в рабочей среде:)

0 голосов
/ 30 мая 2010

Я бы попробовал это так:

text.replace(/([A-Za-z]+:\/\/)?[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(url) {
return url.link(url);
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...