用HTML小于字符替换括号

时间:2014-06-13 08:33:45

标签: javascript angularjs replace

我使用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>

但它只给了白色。没有错误但没有输出。

1 个答案:

答案 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]";
});