AngularJS相当于.html()来替换html字符

时间:2014-05-19 20:19:25

标签: javascript jquery angularjs html-entities

在jQuery中,如果你有一个包含HTML的字符串,你可以在其中处理HTML并替换特殊字符,如'&'与'&'

var myString = 'Jack & Jill';
var filtered = $('</div>').html(myString).text(); 
console.log(filtered); // outputs 'Jack & Jill'

我正在编写一个可以处理HTML的过滤器,但我在这里依赖于jQuery,是否有AngularJS方法呢?

这是我的过滤器代码:

myApp.filter('filterHtmlChars', function() {
    return function(html) {
        return $('<div/>').html(html).text(); // how could I use AngularJS here?
    };
});

PS:我已经了解了ng-bind-html,我试图做的就是过滤。

1 个答案:

答案 0 :(得分:6)

使用内置的jqLit​​e代替:

.filter('filterHtmlChars', function(){
   return function(html) {
       var filtered = angular.element('<div>').html(html).text(); 
       return filtered;
   }
});

然后,在您看来,{{ foo | filterHtmlChars}}输出&#34;杰克&amp;吉尔$scope.foo = 'Jack &amp; Jill'

Plunker Demo