Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angularJS如何忽略某些HTML标记?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我收到此错误是因为其中一位用户在帖子中添加了< 3

我写的代码是ng-bind-html =“Detail.details”

我希望他只被带走< a>标签标签< br />

那可能吗?

谢谢!

可以创建过滤器来清理您的html.

我在其中使用了Strip_tags函数
http://phpjs.org/functions/strip_tags/

angular.module('filters',[]).factory('truncate',function () {
    return function Strip_tags(input,allowed) {
      allowed = (((allowed || '') + '')
        .toLowerCase()
        .match(/<[a-z][a-z0-9]*>/g) || [])
        .join(''); // making sure the allowed arg is a String containing only tags in lowercase (<a><b><c>)
      var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,commentsAndPHPTags = /<!--[\s\S]*?-->|<\?(?:PHP)?[\s\S]*?\?>/gi;
      return input.replace(commentsAndPHPTags,'')
        .replace@R_197_10374@s,function($0,$1) {
          return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : '';
        });
    }
});

控制器:

angular.module('myApp',['filters'])
.controller('IndexController',['$scope','truncate','$sce',function($scope,truncate,$scE){
  $scope.text="";

  $scope.$watch('text',function(){
    $scope.sanitized = $sce.trustAsHtml(truncate($scope.text,'<a><br>'));
  });
}]);

视图:

<div ng-bind-html="sanitized"></div>

http://plnkr.co/edit/qOuvpSMvooC6jR0HxCNT?p=preview

大佬总结

以上是大佬教程为你收集整理的angularJS如何忽略某些HTML标记?全部内容,希望文章能够帮你解决angularJS如何忽略某些HTML标记?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。