2017-04-12 17 views
0

我有一個從服務器接收到的html數據作爲我想刪除的字符串\t製表符從內容中如何使用angularjs過濾器來解決此問題?用下面的代碼,我沒有看到\t當它呈現給用戶界面時從內容中刪除。如何使用angularjs過濾器從字符串中刪除製表符( 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> 

回答

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,'')替換\ t和表格。

+0

獲取此錯誤錯誤:[$ sce:itype]試圖在需要字符串的內容中信任非字符串值:Context:resourceUrl' – hussain

+0

我編輯了答案並在末尾添加了toString()內容變量是一個字符串數組,也許你需要傳遞一個字符串到trustAsResourceUrl()? – Nico

相關問題