diff --git a/addons/linkify/linkify.js b/addons/linkify/linkify.js index 2f44fdfa..543e5feb 100644 --- a/addons/linkify/linkify.js +++ b/addons/linkify/linkify.js @@ -21,13 +21,16 @@ */ var exports = {}, protocolClause = '(https?:\\/\\/)', - domainBodyClause = '([\\da-z\\.-]+)', + domainCharacterSet = '[\\da-z\\.-]+', + negatedDomainCharacterSet = '[^\\da-z\\.-]+', + domainBodyClause = '(' + domainCharacterSet + ')', tldClause = '([a-z\\.]{2,6})', hostClause = domainBodyClause + '\\.' + tldClause, pathClause = '([\\/\\w\\.-]*)*\\/?', + negatedPathCharacterSet = '[^\\/\\w\\.-]+', bodyClause = hostClause + pathClause, - start = '(?:^|\\s+|\\(+|\\[+)(', - end = ')($|\\s+|\\)+|\\]+)', + start = '(?:^|' + negatedDomainCharacterSet + ')(', + end = ')($|' + negatedPathCharacterSet + ')', urlClause = start + protocolClause + '?' + bodyClause + end, urlRegex = new RegExp(urlClause);