当我将数据保存在Java代码中时,我会使用
HtmlUtils.htmlEscape
转义html字符。
但是,当我取回数据并希望将其显示在html中时(我使用Angularjs 1.6)。转义字符(’
,'
)显示不正确。如何使其显示'而不是'
?
谢谢, 彼得
答案 0 :(得分:1)
解决方案1:
您可以使用ng-bind-html指令将其显示为html内容,并解码所有html实体。只要确保在您的应用程序中包含ngSanitize依赖项即可。
演示
JAVASCRIPT
angular.module('app', ['ngSanitize'])
.controller('Ctrl', function($scope) {
$scope.html = '"12.10 On-Going Submission of ""Made Up""Samples."';
});
HTML
<body ng-controller="Ctrl">
<div ng-bind-html="html"></div>
</body>
解决方案2:在控制器中注入$ sce
$scope.html = '"12.10 On-Going Submission of ""Made Up"" Samples."'
$scope.renderHTML = function(html_code)
{
var decoded = angular.element('<textarea />').html(html_code).text();
return $sce.trustAsHtml(decoded);
};
HTML
<div ng-bind-html="renderHTML(html)"></div>