Fix span wrapping all the things

Signed-off-by: Andrew Boyarshin <andrew.boyarshin@gmail.com>
This commit is contained in:
Andrew Boyarshin 2017-02-24 18:49:04 +07:00
parent 12e71e5706
commit 817710dd47
No known key found for this signature in database
GPG Key ID: 7AB54BCDCA5F2C46

View File

@ -1,12 +1,15 @@
jQuery.fn.autolink = function() { jQuery.fn.autolink = function() {
return this.find('*').contents().filter(function () { return this.nodeType === 3; }).each(function() { var re = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[\-;:&=\+\$,\w]+@)?[A-Za-z0-9\.\-]+|(?:www\.|[\-;:&=\+\$,\w]+@)[A-Za-z0-9\.\-]+)((?:\/[\+~%\/\.\w\-]*)?\??(?:[\-\+:=&;%@\.\w]*)#?(?:[\.\!\/\\\w]*))?)/g;
var re = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[\-;:&=\+\$,\w]+@)?[A-Za-z0-9\.\-]+|(?:www\.|[\-;:&=\+\$,\w]+@)[A-Za-z0-9\.\-]+)((?:\/[\+~%\/\.\w\-]*)?\??(?:[\-\+:=&;%@\.\w]*)#?(?:[\.\!\/\\\w]*))?)/g; return this.find('*').contents()
$(this).each(function() { .filter(function () { return this.nodeType === 3; })
$(this).replaceWith( .each(function() {
$("<span />").html( $(this).each(function() {
this.nodeValue.replace(re, "<a href='$1'>$1</a>") if (re.test($(this).text()))
) $(this).replaceWith(
); $("<span />").html(
this.nodeValue.replace(re, "<a href='$1'>$1</a>")
)
);
});
}); });
});
}; };