如何将文本转换为与jQuery链接?

时间:2014-02-20 13:40:03

标签: jquery

给出这个标记:

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

我需要一个jQuery函数,它(在dom ready事件之后)找到所有.myclass div并将以http(s)://开头的字符串转换为链接,这样上面的示例标记就会产生这样的结果: / p>

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

你能帮忙吗?

由于 子

2 个答案:

答案 0 :(得分: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);

fiddle

答案 1 :(得分:1)

我认为正则表达式here具备你需要的东西。

功能:

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>"); 
}