如何使用angularjs中的ng-bind-html解析自定义html元素

时间:2014-06-23 09:49:16

标签: angularjs ng-bind-html

我需要使用ng-bind-html解析字符串。该字符串中包含一些自定义html标记。在使用ng-bind-html进行解析时,为$ sanitize:badparse提供了一个错误。

请查看错误提示:http://jsfiddle.net/8zS4h/2/

在阅读stackoverflow和google中的问题时,我发现如果我使用$sce.trustAsHtml()可能会有解决方案。

这解决了我的错误问题,但无法解析我的自定义html元素。 你可以在这里看到这个更新的小提琴:http://jsfiddle.net/8zS4h/3/

我正在努力寻找解决方案。

编辑: 只是为了添加更多信息,我从rss Feed中获取此字符串,因此有时它也可以包含"<http>""<http"个标记。哪个是失败的地方。 因此,如果字符串类似于<http://www.<em>whitehouse</em>.gov/omb/circulars/a076/,则应提供类似http://www.<em>whitehouse</em>.gov/omb/circulars/a076/

的输出

1 个答案:

答案 0 :(得分:0)

好吧,我设法得到像锚,下划线和粗体一样没有问题的工作标签,看:

Fiddle

angular.module('ngBindHtmlExample', ['ngSanitize'])
  .controller('ngBindHtmlCtrl', ['$scope', function ngBindHtmlCtrl($scope) {
    $scope.myHTML =
        '<a href=\"http://google.com\">link</a> contests <u>of OMB</u> <b>Circular</b> A-76';
  }])
    .filter('to_trusted', ['$sce', function($sce){
        return function(text) {
            return $sce.trustAsHtml(text);
        }; 
}]);

似乎已正确解析