我從API接收HTML實體字符串(如此"<p> Some text <br />"
),我希望將其呈現爲HTML。在HTML中使用Angular渲染HTML實體字符串
如果我用消毒經典HTML的解決方案:
.filter('html',function($sce){
return function(input){
return $sce.trustAsHtml(input);
}
});
我獲得<p> Some text <br />
作爲字符串代替<p>
和<br>
被解釋爲HTML。
我現在看到的唯一解決方案是實現一些替換和應用後的過濾器。
是否有一個更清潔的解決方案,避免分析字符串兩次?
你是如何使用的HTML規劃?這是沿着你尋找什麼線:http://stackoverflow.com/questions/19415394/with-ng-bind-html-unsafe-removed-how-do-i-inject-html – joshwhatk 2015-03-31 13:23:50
如何創建自定義指令與此類似的動態模板:http://onehungrymind.com/angularjs-dynamic-templates/ – slotomo 2015-03-31 13:25:08
@joshwhatk我實際上不搜索相同的行爲,因爲我沒有從API的_html格式化字符串,但_htmlentities- formatted_字符串。然後,所有標籤都以unicode字符的形式轉義。目前,我正在使用String.replace替換所有&xxx;標記與他們的自定義函數的html代碼,然後我使用sce服務將轉換後的字符串解釋爲安全的html,但我問自己是否有更乾淨的解決方案。 – ChrisV 2015-03-31 13:45:30