【问题标题】:ng-bind-html with ng-sanitize' linky output tags as strings带有 ng-sanitize 的 ng-bind-html 链接输出标签作为字符串
【发布时间】:2016-01-17 15:47:39
【问题描述】:

如果我尝试同时使用 ng-sanitize 的 linky 过滤器和 ng-bind-html 指令,它将转换初始字符串

Well, <b>this is bold</b>, but this should become link http://www.example.com Lets test it!

链接转换为 html 链接,但没有粗体文​​本 - 它将作为包含标签的文本输出。

这里是[DEMO]

我的问题是我如何获得粗体文本和普通 html 链接的结果,如果最初我的字符串中包含一些被标签和看起来像链接的文本包围的文本??

【问题讨论】:

  • 为什么不用标签包裹链接?
  • 因为我现在知道有一个链接。假设给定的初始字符串。

标签: angularjs ng-bind-html ngsanitize


【解决方案1】:

Plunkr Demo

您可以编写一个自定义过滤器来完成linky 的工作并将标签放回...(这可能不是超级健壮,而且我不是最擅长正则表达式,但如果它适用于一切你需要它,然后它就能完成工作。)

module.filter('linkyWithHtml', function($filter) {
  return function(value) {
    var linked = $filter('linky')(value);
    var replaced = linked.replace(/\&gt;/g, '>').replace(/\&lt;/g, '<');
    return replaced;
  };
});

用法:

<div ng-bind-html="expr | linkyWithHtml"></div>

【讨论】:

猜你喜欢
  • 2013-01-21
  • 2017-04-03
  • 1970-01-01
  • 2017-02-22
  • 2015-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多