js轉html實體

方法一: 

用的瀏覽器內部轉換器實現轉換,方法是動態建立一個容器標籤元素,如DIV,將要轉換的字符串設置爲這個元素的innerText,而後返回這個元素的innerHTML,即獲得通過HTML編碼轉換的字符串。 

function HTMLEncode ( input ) 

var converter = document.createElement("DIV"); 
converter.innerText = input; 
var output = converter.innerHTML; 
converter = null; 
return output; 


當 然,還能夠用相同的方法實現對字符串的HTMLDecode解碼,但有個問題就是緊跟在字符" <"後面的非空字符將連同字符" <"同時顯示不出來。固然,對字符串做相應處理是能夠解決這個問題的,好比在字符" <"後面加個空格,解碼後再去掉就行,這是後話。畢竟,要使用 HTMLDecode方法解碼,天然是字符串已經通過HTMLEncode方法編碼了,而通過HTMLEncode編碼後的字符串,是不可能有字符 " <"存在的。 

function HTMLDecode ( input ) 

var converter = document.createElement("DIV"); 
converter.innerHTML = input; 
var output = converter.innerText; 
converter = null; 
return output; 



方法二: 
<script    language=javascript>  

  function    HTMLEnCode(str)  
  {  
        var    s    =    "";  
        if    (str.length    ==    0)    return    "";  
        s    =    str.replace(/&/g,    "&gt;");  
        s    =    s.replace(/ </g,        "&lt;");  
        s    =    s.replace(/>/g,        "&gt;");  
        s    =    s.replace(/    /g,        "&nbsp;");  
        s    =    s.replace(/\'/g,      "'");  
        s    =    s.replace(/\"/g,      "&quot;");  
        s    =    s.replace(/\n/g,      " <br>");  
        return    s;  
  }  
  function    HTMLDeCode(str)  
  {  
        var    s    =    "";  
        if    (str.length    ==    0)    return    "";  
        s    =    str.replace(/&gt;/g,    "&");  
        s    =    s.replace(/&lt;/g,        " <");  
        s    =    s.replace(/&gt;/g,        ">");  
        s    =    s.replace(/&nbsp;/g,        "    ");  
        s    =    s.replace(/'/g,      "\'");  
        s    =    s.replace(/&quot;/g,      "\"");  
        s    =    s.replace(/ <br>/g,      "\n");  
        return    s;  
  }  
  </script> javascript

相關文章
相關標籤/搜索