我希望转义用户输入的值的内容,因此它们显示为html实体。 即<将在HTML标记中显示为&lt; 但是我想用实际的html包装用户输入的值。 我的想法是我应该能够逃避用户输入的值,但仍然信任html。

这是我的html代码段: <span ng-bind-html="trustHtml(notif.getConditionText())"></span>

控制器:

$scope.trustHtml = function(html) {
    return $sce.trustAsHtml(html);
}

通知:

getConditionText: function() {
    return "<b>" + $sanitize(this.name) + "</b>";
}

我正在寻找一个可以代替$ sanitize的函数,该函数可以使用户输入的“ name”属性值避开。 也就是说,如果他们输入Seattle <rocks> ,则会将HTML输出为Seattle &lt;rocks&gt;

有人知道像这样的东西吗?

注意我不是要编码为URI实体,而是HTML实体。

#1楼 票数:0

好吧,我发现了这一点: 将特殊字符转换为Javascript中的HTML

您可以在其中编写如下功能:

function HtmlEncode(s)
{
  var el = document.createElement("div");
  el.innerText = el.textContent = s;
  s = el.innerHTML;
  return s;
}

并进行编码。 现在,我没有找到特定于angularjs的东西。

希望对您有所帮助

  ask by Steven M translate from so

未解决问题?本站智能推荐:

3回复

如何在javascript中转义html/特殊字符串

我有一个php / javascript脚本需要打印一些文本。 不幸的是,如果字符串具有特殊字符,则js会崩溃 以下是脚本的片段。 $ messageContent和$ subject是带有html标签的字符串。 (实际上是“'”字符)。 我在php中添加了一个函数,将“'”替换为
2回复

Angular.js中的部分HTML字符串转义

我已经阅读了有关angular的默认情况下转义所有内容的方法和$sce ,所以我使用$sce.trustAsHtml()通过过滤器列出数据(因为$sce不在服务中),如下所示: 但问题是,我不相信HTML的某些部分。 深入研究细节 - 我的翻译中包含HTML,但它们中包含可替换的标记/变
1回复

如何在angularjs中转换字符串时间到日期时间

我试图与预定时间匹配当前时间,但我陷入了匹配,因为这些是在字符串中。 这是我的代码
2回复

使用Angular在HTML中渲染HTML实体字符串

我从API接收了HTML实体字符串(例如"&lt;p&gt; Some text &lt;br /&gt;" ),并且希望将其呈现为HTML。 如果我将经典HTML解决方案与sanitize结合使用: 我得到&lt;p&gt; Some t
5回复

PHP在JSON中转义html字符串

我正在将Slim php框架与包含复杂HTML内容的数据库一起使用,但是在调用get方法时会返回错误的json。 这是返回码 我也尝试了json_encode,但仍然无效: 我只是注意到返回的JSON末尾缺少'}]',是否内容太长而无法作为字符串传输? 另外,当我调用var_dump
2回复

如何在保持HTML不转义的情况下在HTML字符串中转义JavaScript?

我们有一个网络应用程序。 在某些时候,有一个基于JavaScript的WSIWYG / RichText编辑器。 它过滤一些JavaScript,但使用HTML文本格式化其内容。 不幸的是,它不能过滤所有JavaScript。 我能够使用事件处理程序证明XSS攻击。 我认为JavaS
2回复

在Angular字符串中使用HTML实体

给定$ scope模型中包含HTML实体的字符串,如何确保实体正确显示为HTML字符而不是文字字符串? HTML实体 - MDN词汇表 http://plnkr.co/edit/0BliljcDkj0vvj3jdEqz?p=preview
2回复

如何将ngOptions用于包含HTML实体的字符串?

我正在使用ngOptions来构建一个选择菜单,但我的一个标签中有一个HTML实体&amp; 。 该标签显示为Books &amp; Stuff Books &amp; Stuff不是Books & Stuff 。 我的玉是这样的: 如何才能正确显示H