簡體   English   中英

如何在字符串中轉義html實體

[英]How to escape html entities within a string

我希望轉義用戶輸入的值的內容,因此它們顯示為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實體。

好吧,我發現了這一點: 將特殊字符轉換為Javascript中的HTML

您可以在其中編寫如下功能:

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

並進行編碼。 現在,我沒有找到特定於angularjs的東西。

希望對您有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM