对我来说,这似乎是jQuery的完美任务。
// Define: linkify plugin(function($){ var url1 = /(^|<|s)(www..+?..+?)(s|>|$)/g, url2 = /(^|<|s)(((https?|ftp)://|mailto:).+?)(s|>|$)/g, linkifyThis = function () { var childNodes = this.childNodes, i = childNodes.length; while(i--) { var n = childNodes[i]; if (n.nodeType == 3) { var html = $.trim(n.nodevalue); if (html) { html = html.replace(/&/g, '&') .replace(/</g, '<') .replace(/>/g, '>') .replace(url1, '<a href="http://"></a>') .replace(url2, '<a href=""></a>'); $(n).after(html).remove(); } } else if (n.nodeType == 1 && !/^(a|button|textarea)$/i.test(n.tagName)) { linkifyThis.call(n); } } }; $.fn.linkify = function () { return this.each(linkifyThis); };})(jQuery);// Usage example:jQuery('div.textbody').linkify();
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)