Javascript “显示”&;lt";as<;在html中删除双引号
我有一些包含数据的json数组,其中一个键的格式如下Javascript “显示”&;lt";as<;在html中删除双引号,javascript,html,angularjs,Javascript,Html,Angularjs,我有一些包含数据的json数组,其中一个键的格式如下 x = "<sometext>" 我想将其显示为“” 现在它显示为sometext 我有html格式的 <tr data-ng-repeat ="d in data"> <td>{{d.x}}</td> </tr> 我试过了 {{d.x.replace(/</, '<').replace(/>/, '>')}} {
x = "<sometext>"
我想将其显示为“”
现在它显示为sometext
我有html格式的
<tr data-ng-repeat ="d in data">
<td>{{d.x}}</td>
</tr>
我试过了
{{d.x.replace(/</, '<').replace(/>/, '>')}}
{{d.x.replace(//,'')}
但它所做的只是在html上显示,如下所示
var someStr = 'He said "Hello, my name is Foo"';
console.log(someStr.replace(/['"]+/g, ''));
{{d.x.replace(/</, '<').replace(/>/, '>')}}
{{d.x.replace(//,'>')}
您需要将字符串用另一组双引号括起来,并取消括号。Angular将负责将其显示为文本而不是html:
"{{d.x.replace(/</, '<').replace(/>/, '>')}}"
“{{d.x.replace(//,'')}”
默认情况下,AngularJS模板表达式不计算HTML。发生这种情况是出于安全原因,因此您应该考虑相关的安全问题(用户可以操纵此变量吗?)
如果您决定评估HTML内容,您可以使用ngBindHtml
<tr data-ng-repeat ="d in data">
<td ng-bind-html="d.x"></td>
</tr>
出于安全原因,除stanard AngularJS外,您还需要包括ngSanitize。请参见示例。如果您希望它显示为
”
,则需要添加双引号,而不是删除它们。哦,我刚刚尝试过它,但现在它显示“sometext”@nevermind,只是替换为