Browse Source

Merge pull request #1043 from andrew-boyarshin/autolink

Fix span wrapping all the things
tags/v1.1.0
Andrey Nering 8 years ago committed by GitHub
parent
commit
d4a7040c7f
  1. 21
      public/js/libs/autolink.js

21
public/js/libs/autolink.js

@ -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>")
)
);
});
}); });
});
}; };
Loading…
Cancel
Save