AngularJs:在文本中查找带有初始“www”的链接,并将它们转换为html链接

时间:2015-08-11 22:21:35

标签: javascript angularjs

我使用angular linky在文本中查找链接并将其转换为url。 但是linky不支持以下网址:

www.abc.com
abc.xyz

有没有其他方法可以支持这些链接?

2 个答案:

答案 0 :(得分:1)

linky过滤already supports www.abc.com类地址。

自己开发regexp以支持abc.xyz是一项过于复杂而且吃力不讨好的工作。我建议使用成熟的第三方库,例如Autolinker

Here is a simple module可能有助于配置(使用选项supported by Autolinker)并将其包装到角度过滤器中

angular.module('linkier', ['ngSanitize'])
.constant('linkierConfig', {})
.filter('linkier', ['$window', '$sanitize', 'linkierConfig', 
  function ($window, $sanitize, linkierConfig) {
  return function (input, config) {
    if (!angular.isString(input))
      return input;

    config = angular.extend({}, linkierConfig, angular.isObject(config) ? config : {});
    return $sanitize($window.Autolinker.link(input, config));
  };
}]);

答案 1 :(得分:0)

  

在文本输入中查找链接并将其转换为html链接。支持   http / https / ftp / mailto和普通电子邮件地址链接。

所以它似乎没有。您应该创建自己的过滤器来解决此问题。这是一个让你入门的模板。

<link href="/style-render?s=base" rel="stylesheet" type="text/css">

What is the best regular expression to check if a string is a valid URL?