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,7 +1,10 @@
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()
.filter(function () { return this.nodeType === 3; })
.each(function() {
$(this).each(function() { $(this).each(function() {
if (re.test($(this).text()))
$(this).replaceWith( $(this).replaceWith(
$("<span />").html( $("<span />").html(
this.nodeValue.replace(re, "<a href='$1'>$1</a>") this.nodeValue.replace(re, "<a href='$1'>$1</a>")