Как преобразовать текст в ссылку с помощью jQuery? [Дубликат]

0

учитывая эту разметку:

<div class="myclass">
    Lorem ipsum dolor sit amet, http://example.com consectetuer adipiscing elit.
</div>

Мне нужна функция jQuery, которая (после события dom ready) находит все.myclass divs и преобразует строки, которые начинаются с http (s)://в ссылки, так что приведенный выше пример разметки приводит к следующему:

<div class="myclass">
    Lorem ipsum dolor sit amet, <a href="http://example.com">http://example.com</a> consectetuer adipiscing elit.
</div>

Вы можете помочь?

Подпись под

Теги:

2 ответа

1
Лучший ответ

Я думаю, что регулярное выражение здесь имеет то, что вам нужно.

функция:

function replaceURLWithHTMLLinks(text) {
    var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
    return text.replace(exp,"<a href='$1'>$1</a>"); 
}
2
(function($) {
    $(function() {
        $('.myclass').each(function() {
            var el = $(this);

            if (el.html().indexOf('http') > -1) {
                var html = el.html();

                html = html.replace(/(https?:[\S]+)/gi, '<a href="$1">$1</a>');

                el.html(html);
            }
        });
    });
})(jQuery);

играть на скрипке

Ещё вопросы

Сообщество Overcoder
Наверх
Меню