mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-12 05:22:35 +09:00
commit
067127dcb5
1 changed files with 7 additions and 9 deletions
|
|
@ -5,13 +5,13 @@
|
||||||
*/
|
*/
|
||||||
(function($){
|
(function($){
|
||||||
var protocol_re = '(https?|ftp|news|telnet|irc|mms)://';
|
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 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 ip_re = '(?:'+max_255_re+'\\.){3}'+max_255_re;
|
||||||
var port_re = '(?::([0-9]+))?';
|
var port_re = '(?::([0-9]+))?';
|
||||||
var user_re = '(?:/~[\\w-]+)?';
|
var user_re = '(?:/~\\w+)?';
|
||||||
var path_re = '((?:/[\\w!"$-/:-@]+)*)';
|
var path_re = '(?:/[\\w!@$%&!?="/.,:;-]+)*';
|
||||||
var hash_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');
|
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 content = textNode.nodeValue;
|
||||||
var dummy = $('<span>');
|
var dummy = $('<span>');
|
||||||
|
|
||||||
content = content.replace(/</g, '<').replace(/>/g, '>');
|
//content = content.replace(/</g, '<').replace(/>/g, '>');
|
||||||
content = content.replace(url_regex, '<a href="$1" target="_blank">$1</a>');
|
content = content.replace(url_regex, '<a href="$1" target="_blank">$1</a>');
|
||||||
|
|
||||||
$(textNode).before(dummy);
|
$(textNode).before(dummy);
|
||||||
|
|
@ -52,9 +52,7 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$(obj)
|
$(obj).contents().each(function(){
|
||||||
.contents()
|
|
||||||
.each(function(){
|
|
||||||
var node_name = this.nodeName.toLowerCase();
|
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;
|
if($.inArray(node_name, ['a', 'pre', 'xml', 'textarea', 'input', 'select', 'option', 'code', 'script', 'style', 'iframe', 'button', 'img', 'embed', 'object', 'ins']) != -1) return;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue