我希望转义用户输入值的内容,因此它们显示为html实体。即&lt;将在HTML标记中显示为<
。但我想用实际的html包装用户输入的值。我的想法是,我应该能够逃避用户输入的值,但仍然信任html。
这是我的html片段:
<span ng-bind-html="trustHtml(notif.getConditionText())"></span>
控制器:
$scope.trustHtml = function(html) {
return $sce.trustAsHtml(html);
}
NOTIF:
getConditionText: function() {
return "<b>" + $sanitize(this.name) + "</b>";
}
我正在寻找一个代替$ sanitize的函数来逃避用户输入的“name”属性值。即如果他们输入Seattle <rocks>
,则会输出html为Seattle <rocks>
任何人都知道像这样的角色?
注意我不是要编码为URI实体,而是编码HTML实体。
答案 0 :(得分:0)
好吧,我发现了这个:Convert special characters to HTML in Javascript
你可以写一个像:
这样的函数function HtmlEncode(s)
{
var el = document.createElement("div");
el.innerText = el.textContent = s;
s = el.innerHTML;
return s;
}
并将其编码。现在,我没有找到特定于angularjs的东西。
我希望它有所帮助