Merge pull request #470 from kijin/pr/fix-autolink

자동 링크 애드온 개선 (#462)
This commit is contained in:
Kijin Sung 2016-04-28 21:46:46 +09:00
commit 067127dcb5

View file

@ -5,13 +5,13 @@
*/
(function($){
var protocol_re = '(https?|ftp|news|telnet|irc|mms)://';
var domain_re = '(?:[\\w\\-]+\\.)+(?:[a-z]+)';
var domain_re = '(?:[^./]+\\.)+[^./]+';
var max_255_re = '(?:1[0-9]{2}|2[0-4][0-9]|25[0-5]|[1-9]?[0-9])';
var ip_re = '(?:'+max_255_re+'\\.){3}'+max_255_re;
var port_re = '(?::([0-9]+))?';
var user_re = '(?:/~[\\w-]+)?';
var path_re = '((?:/[\\w!"$-/:-@]+)*)';
var hash_re = '(?:#([\\w!-@]+))?';
var user_re = '(?:/~\\w+)?';
var path_re = '(?:/[\\w!@$%&!?="/.,:;-]+)*';
var hash_re = '(?:#[\\w!@$%&!?="/.,:;-]*)?';
var url_regex = new RegExp('('+protocol_re+'('+domain_re+'|'+ip_re+'|localhost'+')'+port_re+user_re+path_re+hash_re+')', 'ig');
@ -36,7 +36,7 @@
var content = textNode.nodeValue;
var dummy = $('<span>');
content = content.replace(/</g, '&lt;').replace(/>/g, '&gt;');
//content = content.replace(/</g, '&lt;').replace(/>/g, '&gt;');
content = content.replace(url_regex, '<a href="$1" target="_blank">$1</a>');
$(textNode).before(dummy);
@ -52,9 +52,7 @@
return;
}
$(obj)
.contents()
.each(function(){
$(obj).contents().each(function(){
var node_name = this.nodeName.toLowerCase();
if($.inArray(node_name, ['a', 'pre', 'xml', 'textarea', 'input', 'select', 'option', 'code', 'script', 'style', 'iframe', 'button', 'img', 'embed', 'object', 'ins']) != -1) return;
@ -77,4 +75,4 @@
});
xe.registerPlugin(new AutoLink());
})(jQuery);
})(jQuery);