浏览代码

HUE-8155 [metastore] Improve link matching in the description

Johan Ahlen 7 年之前
父节点
当前提交
55af7b875c
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 6 2
      desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js

+ 6 - 2
desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js

@@ -582,10 +582,14 @@
       self.contents = options.text;
       self.element.innerHTML = self.contents;
 
+      var linkRegex = /(?:(?:[a-z]+:\/\/)|www\.)[^\s\/]+(?:[.\/]\S+)*[^\s`!()\[\]{};:'".,<>?«»“”‘’]/ig;
+
       self.renderContents = function (contents) {
         if (options.linkify) {
-          return hueUtils.deXSS(contents.replace(/((?:(?:[a-z]+:\/\/)|www\.)[a-z0-9_%\-]+(?:[.\/][a-z0-9_%\-]+)*)/ig, '<a href="$1" target="_blank">$1</a>'));
-        };
+          return hueUtils.deXSS(contents.replace(linkRegex, function (val) {
+            return '<a href="' + (val.toLowerCase().indexOf('www') === 0 ? 'http://' + val : val) + '" target="_blank">' + val + '</a>';
+          }));
+        }
         return hueUtils.deXSS(contents);
       };