diff --git a/src/js/extensions/auto-link.js b/src/js/extensions/auto-link.js index 708a9de23..1f2e8f316 100644 --- a/src/js/extensions/auto-link.js +++ b/src/js/extensions/auto-link.js @@ -4,7 +4,8 @@ var WHITESPACE_CHARS, KNOWN_TLDS_FRAGMENT, LINK_REGEXP_TEXT, - KNOWN_TLDS_REGEXP; + KNOWN_TLDS_REGEXP, + LINK_REGEXP; WHITESPACE_CHARS = [' ', '\t', '\n', '\r', '\u00A0', '\u2000', '\u2001', '\u2002', '\u2003', '\u2028', '\u2029']; @@ -26,6 +27,8 @@ KNOWN_TLDS_REGEXP = new RegExp('^(' + KNOWN_TLDS_FRAGMENT + ')$', 'i'); + LINK_REGEXP = new RegExp(LINK_REGEXP_TEXT, 'gi'); + function nodeIsNotInsideAnchorTag(node) { return !MediumEditor.util.getClosestTag(node, 'a'); } @@ -207,12 +210,11 @@ }, findLinkableText: function (contenteditable) { - var linkRegExp = new RegExp(LINK_REGEXP_TEXT, 'gi'), - textContent = contenteditable.textContent, + var textContent = contenteditable.textContent, match = null, matches = []; - while ((match = linkRegExp.exec(textContent)) !== null) { + while ((match = LINK_REGEXP.exec(textContent)) !== null) { var matchOk = true, matchEnd = match.index + match[0].length; // If the regexp detected something as a link that has text immediately preceding/following it, bail out.