我从服务器收到的html数据作为字符串我想从内容中删除\t
标签字符如何使用angularjs过滤器解决此问题?使用以下代码,我在内容呈现为UI时没有看到\t
从内容中删除。
filter.js
angular.module('App').filter('trusted', ['$sce', function ($sce) {
return function(url) {
var content = url.toString().replace('\t', '').split('\r\n');
return $sce.trustAsResourceUrl(content);
};
}]);
main.html中
<tr ng-repeat="item in showMessages | filter:searchStr">
<td>{{item.filename}}</td>
<td class="serverResults" ng-bind-html="item.value | highlight:searchStr| trusted">{{item.value}}</td>
</tr>
数据
<p style=\"text-align: left; font-size: 15px; line-height: 20px; font-family:ClearviewATT, Arial; color: #444444; margin:0; padding:0;\">\t\t\t\t\t\t\t\t\t\t\tError Code: \t\t\t\t\t\t\t\t\t\t\t[(*ErrorCode*)]\t\t\t\t\t\t\t\t\t\t</p>
答案 0 :(得分:2)
在您的过滤器中,您需要使用正则表达式
var content = url.toString().replace(/\\t/g, '').split('\r\n').toString();
否则只会移除第一个\ t(第一次出现)
如果你想删除制表符,正则表达式将是(没有双\):
var content = url.toString().replace(/\t/g, '').split('\r\n').toString();
您可以验证正则表达式here
在https://jsfiddle.net中尝试后,似乎替换了(/ \ t / g,&#39;&#39;)替换\ t和表格。