如何转义字符串中的html实体

How to escape html entities within a string

本文关键字:html 实体 字符串 何转义 转义      更新时间:2023-09-26

我希望转义用户输入值的内容,以便它们显示为html实体。即<将在HTML标记中显示为CCD_ 1。但我想用实际的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>";
}

我正在寻找一个函数,它将取代$sance,它将转义用户输入的"name"属性值。即,如果他们输入Seattle <rocks>,它将把html输出为Seattle &lt;rocks&gt;

有人知道像这样的angular吗?

注意,我不是在尝试编码到URI实体,而是HTML实体。

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

其中你可以写一个函数,比如:

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

并对其进行编码。现在,我没有发现angularjs特有的东西。

我希望它能帮助