摘要:或者另一个需求,对编辑器中的文本进行编码再传进数据库,或者从库中读取的数据需要进行解码才能渲染到网页上。这时候,我们常常就会使用到转义与反转义,编码和解码。
在项目开发过程中,我会有时候遇上这样的一个业务需求:对从数据库中读取出来的html数据进行反转义,才能在当前网页当前进行渲染。
或者另一个需求,对编辑器中的文本进行编码再传进数据库,或者从库中读取的数据需要进行解码才能渲染到网页上。
这时候,我们常常就会使用到转义与反转义,编码和解码。下面就是我一些项目中的代码片断,供参考,希望能给你提供个思路进行问题的解决
/** JQuery Html Encoding、Decoding
* 原理是利用JQuery自带的html()和text()函数可以转义Html字符
* 虚拟一个Div通过赋值和取值来得到想要的Html编码或者解码
*/
// 项目是2014的项目,依赖库是jquery,并非现在的react/angular/vue,jq版本是1.9.
// Html编码获取Html转义实体
function htmlEncode(value) {
return $("")
.text(value)
.html();
}
// Html解码获取Html实体
function htmlDecode(value) {
return $("")
.html(value)
.text();
}
// 获取Html转义字符
function htmlEncode(html) {
return document.createElement("a").appendChild(document.createTextNode(html))
.parentNode.innerHTML;
}
// 获取Html
function htmlDecode(html) {
var a = document.createElement("a");
a.innerHTML = html;
return a.textContent;
}
// 编码
function html_encode(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;
}
//解码
function html_decode(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;
}
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/54969.html
摘要:或者另一个需求,对编辑器中的文本进行编码再传进数据库,或者从库中读取的数据需要进行解码才能渲染到网页上。这时候,我们常常就会使用到转义与反转义,编码和解码。 在项目开发过程中,我会有时候遇上这样的一个业务需求:对从数据库中读取出来的html数据进行反转义,才能在当前网页当前进行渲染。 或者另一个需求,对编辑器中的文本进行编码再传进数据库,或者从库中读取的数据需要进行解码才能渲染到网页上...
摘要:在中,工具类定义了一组公共方法,这篇文章将介绍中使用最频繁及最通用的工具类。另外,工具类,根据阿里开发手册,包名如果要使用不能带,工具类命名为。 showImg(https://segmentfault.com/img/remote/1460000015356958); 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法...
摘要:在中,工具类定义了一组公共方法,这篇文章将介绍中使用最频繁及最通用的工具类。另外,工具类,根据阿里开发手册,包名如果要使用不能带,工具类命名为 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码。 一. org.apache.commons.io....
摘要:感觉挺有意思的,于是打算自己用写一个试试。为有趣起见,准备从一个打印本站域名的额外功能开始这个命令可以在控制栏打印出一行。接下来我准备一步一步改造这个命令,直至达成的目标。注意到源码里外用了不同的引号,这是为了规避转义符。 原文自转->这里 早上看了justjavac大大的一篇文章:javascript 的 quine 程序升级版,了解了一下所谓quine程序的概念: 一个 ...
var a = & alert(a); var c = document.createElement(div); c.innerHTML = a; a = c.innerText || c.textContent; c = null; alert(a); 吃水不忘挖井人:http://jsfiddle.net/xqin/6jra...
阅读 1027·2019-08-30 15:54
阅读 3531·2019-08-29 15:33
阅读 2921·2019-08-29 13:48
阅读 1575·2019-08-26 18:26
阅读 3538·2019-08-26 13:55
阅读 1814·2019-08-26 10:45
阅读 1410·2019-08-26 10:19
阅读 510·2019-08-26 10:16