基于安全的原因,在某些场景如果需要正常的显示HTML及XML标签,必须对标签进行转义和反转义。
有两种方案
方案1:
/**
* 把html转义成HTML实体字符
*/
function HTMLEncode(html) {
var temp = document.createElement("div");
(temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html);
var output = temp.innerHTML;
temp = null;
return output;
}
/**
* 转义字符还原成html字符
*/
function HTMLDecode(text) {
var temp = document.createElement("div");
temp.innerHTML = text;
var output = temp.innerText || temp.textContent;
temp = null;
return output;
}
方案2:
/**
* 把html转义成HTML实体字符
*/
function htmlEncode(str) {
var s = "";
if (str.length === 0) {
return "";
}
s = str.replace(/&/g, "&");
s = s.replace(/</g, "<");
s = s.replace(/>/g, ">");
s = s.replace(/ /g, " ");
s = s.replace(/\'/g, "'"); //IE下不支持实体名称
s = s.replace(/\"/g, """);
return s;
}
/**
* 转义字符还原成html字符
*/
function htmlRestore(str) {
var s = "";
if (str.length === 0) {
return "";
}
s = str.replace(/&/g, "&");
s = s.replace(/</g, "<");
s = s.replace(/>/g, ">");
s = s.replace(/ /g, " ");
s = s.replace(/'/g, "\'");
s = s.replace(/"/g, "\"");
return s;
}
-
JavaScript 模版字符串学习JavaScript 模版字符串用起来更方便
-
jQuery AJAX HTTP CODE 400jQuery AJAX HTTP CODE 400
-
简单了解一下能帮你提高开发效率的现代CSS框架优秀的CSS框架很多,这里对大家常见的几个做简单介绍
-
PDF.js HTML PDF 阅读器PDF.js HTML PDF 阅读器
-
clipboard.js HTML 复制黏贴神器clipboard.js HTML 复制黏贴神器
-
开源项目:Anime JavaScript 动画引擎"Anime.js" 是一个轻量级且功能强大的 JavaScript 动画引擎。它允许开发者使用简洁的语法创建复杂且平滑的动画效果。Anime.js 提供了丰富的动画选项和回调函数,让开发者能够很好地控制动画的各个方面。
暂无评论,抢个沙发...