情况:
我正在建立一个网页,其中的内容是通过调用返回JSON格式数据的API来获取的。
问题是HTML标记以HTML实体形式给出,必须进行解码。
示例:
这是我要处理的JSON示例:
<p align="justify"><strong>15<sup>th</sup> HERE THERE IS A BOLD TEXT </strong> HERE SOME NORMAL TEXT...
尝试:
我花了时间研究它,似乎比我想象的难。在 Google 和类似的 SO 问题中查找,可能的解决方案是使用 ng-bind-html。
API 调用:
$http.get('http://API/page_content').then(function(resp)
{
$scope.content_test = resp.data[0].content;
}
筛选:
.filter('trusted', ['$sce', function($sce){
return function(text) {
return $sce.trustAsHtml(text);
};
}])
在Angular视图中使用ng-bind-html:
<div ng-bind-html=" content_test | trusted"></div>
输出:
这是视图中的输出(与您看到的完全相同):
<p align="justify"><strong>15<sup>th<\/sup> HERE THERE IS A BOLD TEXT<\/strong> HERE SOME NORMAL TEXT...
但我需要看到的是文本格式正确:
这里有一段加粗的文字这里是一些普通的文字...
问题:
如何在AngularJs中解码HTML实体以获得正确格式的HTML?