2017-04-03 66 views
2

防止工具提示在轉換HTML實體

<input ng-model="test" placeholder="pre" type="text" title="PROJECT&GT" />

用於顯示工具提示 「PROJECT>」 上面的代碼。但我需要顯示的文字是「PROJECT & GT」

有沒有辦法做到這一點?我正在使用角度。

回答

3

你可以嘗試這樣的事: 創建角過濾:

angular.module('ppvApp.event').filter('escapeHtml', function() { 

    var charMap= { 
     "&": "&amp;", 
     "<": "&lt;", 
     ">": "&gt;", 
     '"': '&quot;', 
     "'": '&#39;', 
     "/": '&#x2F;' 
    }; 

    return function(str) { 
     return String(str).replace(/[&<>"'\/]/g, function(s) { 
      return charMap[s]; 
     }); 
    } 
}); 

,然後用它作爲:

<input ng-model="test" placeholder="pre" type="text" title="{{'PROJECT&GT' | escapeHtml}}" /> 
+0

我已經將這種技術與上面的答案結合起來。謝謝:) – jengfad

+0

@JenniferFadriquela你可以將解決方案標記爲有用嗎?謝謝 ! –

3

您需要在標題中使用編碼的字符串。您可以使用在線工具(如this one)來執行此操作。

<input ng-model="test" placeholder="pre" type="text" title="PROJECT&amp;GT" />

+0

謝謝您的回答。是否有某種角度的實用功能可以自動將&符號轉換爲「&」? – jengfad

1

一條路可走是從GT&(或任何其他類似的實體)與&#xfeff;這是一個零寬無中斷空格http://www.codetable.net/hex/feff)分開,像這樣:

<input ng-model="test" placeholder="pre" type="text" title="PROJECT&&#xfeff;GT" />