2

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 リンクに変換されたリンクを持ち、太字のテキストを持たないもの - タグを含むテキストとして出力されます。

[デモ]はこちら

私の質問は、最初にタグで囲まれたテキストとリンクのように見えるテキストを含む文字列がある場合、太字のテキストと通常の html リンクの両方を結果として取得するにはどうすればよいですか??

4

1 に答える 1

9

プランカーのデモ

カスタムフィルターを作成し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>
于 2015-10-19T11:13:50.657 に答える