html標籤的尖括號轉碼為字元實體

admin發表於2018-12-23

本章節介紹一下如何將html標籤兩端的尖括號轉換為字元實體,這個是非常有必要的,比如在實際應用中,可以要原文輸出html標籤,但是左右尖括號作為html標籤的一部分,有可能會導致混亂,例如:

[HTML] 純文字檢視 複製程式碼
<div></div></div>

上面的程式碼我們原意是是原樣輸出"</div>",但是這會被瀏覽器認為是html語法標籤,這樣就會出現錯誤,索引進行轉碼是非常有必要的,程式碼如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script type="text/javascript"> 
function html_encode(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, "&#39;");   
  s = s.replace(/\"/g, "&quot;");   
  s = s.replace(/\n/g, "<br>");   
  return s;   
}   
function html_decode(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(/&#39;/g, "\'");   
  s = s.replace(/&quot;/g, "\"");   
  s = s.replace(/<br>/g, "\n");   
  return s;   
}   
window.onload=function(){
  var odiv=document.getElementById("thediv");
  odiv.innerHTML=html_encode("</div>");
}
</script> 
</head> 
<body> 
<div id="thediv"></div>
</body> 
</html>

實現對html尖括號和一些特殊的字元進行轉換,上面也提供瞭解碼的功能,沒有演示而已。

相關文章