无法从字符串中删除 HTML 个标签

Unable to remove HTML tags from string

我收到一个名为“JobDescription”的 属性 作为对 API 的响应,其中包含 HTML 标签。我正在尝试从字符串中删除 html 标签,但它不起作用。

代码:

 var jobDescription= "<P> kajskjdhkj</p> <div> lakjsklj/div>";
 console.log($sce.trustAsHtml(jobDescription)); // output : {}

预期输出:

kajskjdhkj lakjsklj

我知道我们将它与“ng-bind-html”指令一起使用。难道不能在脚本中使用它来删除“html 标签”吗?

我最后的选择是使用“正则表达式”或任何其他逻辑从字符串中删除 HTML 标签,但我的第一个选择是坚持使用 $sce.trustAsHtml 函数的标准方式.

我对这类事情使用过滤器:

app.filter('stripTags', function() {
        return function(text) {
            return text ? String(text).replace(/<[^>]+>/gm, '') : '';
        };
    })

然后在你的控制器中:

var jobDescription= "<P> kajskjdhkj</p> <div> lakjsklj</div>";
var jobDescription_notags = $filter("stripTags")(jobDescription)

方法使用angular.element(html).text()

angular.module('app', [])
  .controller('main', function() {
    var jobDescription = "<P> kajskjdhkj</p> <div> lakjsklj</div>";    
    this.txt = angular.element(jobDescription).text()
    
    var sample ="Abc. Xyz Lmn No.1234 H, PPP TTT GGG, LKH 3</br>" 
    this.txt2 = angular.element('<div>').html(sample).text()
  })
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>

<div ng-app="app" ng-controller="main as $ctrl">
  {{$ctrl.txt}}<br/><br/>
  {{$ctrl.txt2}}
</div>