JQuery/PHP

JavaScript实现HTML标签转义及反转义的两种方法

也想出现在这里?联系我们
创客云

基于安全的原因,在某些场景如果需要正常的显示 HTML 及 XML 标签,必须对标签进行转义和反转义。有两种方案

方案 1:

  1. /**
  2.  *  把html转义成HTML实体字符
  3.  */
  4. function HTMLEncode(html) {
  5.     var temp = document.createElement("div");
  6.     (temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html);
  7.     var output = temp.innerHTML;
  8.     temp = null;
  9.     return output;
  10. }
  11.  
  12. /**
  13.  *  转义字符还原成html字符
  14.  */
  15. function HTMLDecode(text) { 
  16.     var temp = document.createElement("div"); 
  17.     temp.innerHTML = text; 
  18.     var output = temp.innerText || temp.textContent; 
  19.     temp = null; 
  20.     return output; 
  21. }
也想出现在这里?联系我们
创客主机

方案 2:

  1. /**
  2.  *  把html转义成HTML实体字符
  3.  */
  4. function htmlEncode(str) {
  5. 	var s = "";
  6. 	if (str.length === 0) {
  7. 		return "";
  8. 	}
  9. 	s = str.replace(/&/g, "&");
  10. 	s = s.replace(/</g, "<");
  11. 	s = s.replace(/>/g, ">");
  12. 	s = s.replace(/ /g, "&nbsp;");
  13. 	s = s.replace(/\'/g, "&#39;"); //IE下不支持实体名称
  14. 	s = s.replace(/\"/g, """);
  15. 	return s;
  16. }
  17.  
  18. /**
  19.  *  转义字符还原成html字符
  20.  */
  21. function htmlRestore(str) {
  22. 	var s = "";
  23. 	if (str.length === 0) {
  24. 		return "";
  25. 	}
  26. 	s = str.replace(/&/g, "&");
  27. 	s = s.replace(/</g, "<");
  28. 	s = s.replace(/>/g, ">");
  29. 	s = s.replace(/&nbsp;/g, " ");
  30. 	s = s.replace(/&#39;/g, "\'");
  31. 	s = s.replace(/"/g, "\"");
  32. 	return s;
  33. }
资源下载此资源下载价格为5立即购买,VIP 免费

收藏
(0)

本文由 云模板 作者:PetitQ 发表,转载请注明来源!

也想出现在这里?联系我们
创客主机

发表回复

热销模板

Hub - 响应式可视化编辑企业官网WordPress汉化模板

Envato

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!

请扫码添加QQ好友后咨询!