我使用AngularJS并拥有此代码:
return text.replace("[", "<");
我希望它添加&lt;作为HTML字符,但它没有。它将其添加为可见文本。这样就可以在页面上打印出HTML代码。
如何在不将其转换为文字字符的情况下替换小于号<
?
文字内容
替换之前...
[div class="rating-container"]
HTML代码
我添加了这个,它是一个值和一个过滤器。
{{post.rating.html | replace_brackets }}
我尝试用
包装它<div ng-bind-html-unsafe="post.rating.html | replace_brackets"></div>
但它只给了白色。没有错误但没有输出。
答案 0 :(得分:1)
试试这个
<强> Working Demo 强>
<强> HTML 强>
<div ng-app='MyApp' ng-controller="PostsCtrl">
<div ng-bind-html-unsafe="test | replace_brackets"></div>
</div>
<强>脚本强>
var app = angular.module("MyApp", [])
.filter('replace_brackets', function($compile){
return function(text) {
var output = text.replace(/\[/g,'<').replace(/\]/g,'>');
return output;
};
});
app.controller("PostsCtrl", function($scope) {
$scope.test = "[div class='rating-container']Visible[/div]";
});