Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Angular JS中解码HTML实体_Javascript_Html_Angularjs_Html Entities_Utf8 Decode - Fatal编程技术网

Javascript 在Angular JS中解码HTML实体

Javascript 在Angular JS中解码HTML实体,javascript,html,angularjs,html-entities,utf8-decode,Javascript,Html,Angularjs,Html Entities,Utf8 Decode,如何使用angular JS解码文本中的HTML实体 我有绳子 ""12.10 On-Going Submission of ""Made Up"" Samples."" 我需要一种用Angular JS解码的方法。我找到了一种使用javascript的方法,但我确信这对Angular来说是行不通的。需要返回UI上的原始字符串,如下所示 ""12.10 On-Going Submissi

如何使用angular JS解码文本中的HTML实体

我有绳子

""12.10 On-Going Submission of ""Made Up"" Samples.""
我需要一种用Angular JS解码的方法。我找到了一种使用javascript的方法,但我确信这对Angular来说是行不通的。需要返回UI上的原始字符串,如下所示

""12.10 On-Going Submission of ""Made Up"" Samples.""
您可以使用指令将其显示为html内容,并对所有html实体进行解码。只需确保在应用程序中包含依赖项即可

JAVASCRIPT

HTML


如果您不想使用ngSanitize,可以通过以下方式执行:

在控制器中:

$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);
        };
$scope.html='“12.10正在提交“制作”样本。”
$scope.renderHTML=函数(html\U代码)
{
var decoded=angular.element(“”).html(html_代码).text();
返回$sce.trustAsHtml(已解码);
};
在模板中:

<div ng-bind-html="renderHTML(html)"></div>


只要确保在控制器中注入$sce,我就有类似的问题,但不需要在UI上使用结果值。此问题已通过以下清理模块中的代码解决:

var hiddenPre=document.createElement(“pre”);
/**
*将所有实体解码为常规字符串
*@param值
*@返回{string}一个包含已解码实体的字符串。
*/
功能实体(值){
如果(!value){返回“”;}

hiddenPre.innerHTML=value.replace(/但如果你不习惯将其呈现为html,你如何处理它?这是可行的,但我在控制台中遇到了这个错误:
angular.min.js:123 TypeError:angular.element(…).html(…)。text不是fn(编译时的eval(angular.min.js:239),:4:284)上的b.$scope.renderHTML(app.js:24)的函数在angular.min.js:129在m.$digest(angular.min.js:146)在m.$apply(angular.min.js:149)在angular.min.js:21在Object.invoke(angular.min.js:44)在c(angular.min.js:21)在Sc(angular.min.js:22)在ue(angular.min.js:20)在angular.min.js.js:20)在An
$scope.html = '&quot;12.10 On-Going Submission of &quot;&quot;Made Up&quot;&quot; Samples.&quot;'
$scope.renderHTML = function(html_code)
        {
            var decoded = angular.element('<textarea />').html(html_code).text();
            return $sce.trustAsHtml(decoded);
        };
<div ng-bind-html="renderHTML(html)"></div>