2017-04-11 46 views
0

防止表格單元格,以轉換HTML實體

<table> 
 
    <tr> 
 
     <td>&gt;</td> 
 
    </tr> 
 
    <tr> 
 
     <td>&&#xfeff;GT</td> 
 
    </tr> 
 
</table>

我有具有HTML實體表格單元上面的代碼。此外,我有一個相關的question(現在回答)具有相同的細節,但具有不同的場景。

目標是按原樣輸出字符串,而不將其轉換爲HTML實體。例如字符串「Project & GT」將按原樣輸出。

下面是2個解決方案我已經試過,但仍不能滿足我的要求(這些答案來自question

A.第一行 - 這個答案不能正確顯示的字符串。它顯示轉換後的html,它是「>」。但是這個解決方案適用於非表格元素,如工具提示和跨度。另外,如果字符串有不同的外殼(項目& gT),它會從原始字符串輸出外殼。

B.第二行 - 此答案顯示正確的字符串。它不輸出轉換後的字符串。但我的問題在於,如果字符串具有不同的外殼(項目& gT),它會輸出您在邏輯上編碼的案例(項目& GT--因爲這是我們在HTML上編碼的)。

有沒有一種方法有未轉換的字符串,並保留其外殼?

更新:忘了提及我用angularDatatable的renderWidth。

.renderWith(function(data) { 
return $filter('customFilter')(data)}); 

我已經與customFilter一起使用它來停止轉換。在我的調試中,過濾器會返回正確的結果,但在呈現表格單元格時總會遇到問題。這就是爲什麼我直接問此更新之前

回答

1

如果你使用angular,使用ng-bind,它是alwais給你的純文本。 租用是link

  • 爲了得到& GT;使用NG綁定
  • 得到>使用NG綁定,HTML

試試吧。

+0

我仍試圖探索這個答案。我認爲我會發佈一個新的問題會更好,因爲這個問題現在脫離了我的新實現的背景。無論如何,我會將其標記爲答案,因爲這對於表格單元透視更有意義。 – jengfad

1

的問題你可以做這樣的事情:

function findNoParse(){ 
    $('noparse').each(function(){ 
     if($(this).attr('tagchecked') != 'true'){ //checks if already changed tag 
     $(this).text($(this).html()); //makes the html into plaintext 
     $(this).attr('tagchecked', 'true'); //says that tag has been checked 
     } 
    }); 
} 

在HTML

<noparse><a href="http://example.com">Link</a></noparse> 

我創建了一個小提琴。請看一下。 Fiddle

相關問題