超级简单的 html 转义与反转义
目标 :
前后端通用,规范,实用的html转义与反转义
ps:
网上这种的html转义与反转义博客太多了,并且也更有各的简介,好处是理解的深入,但是不容易统一规范,个人更倾向于规范。加上StringEscapeUtils的转义会把汉字也转义,有的时候也用的不方便,所以采用前端 underscore.js的通用工具类转义。
解决方案
1.前端采用 underscore.js 的_.escape(str) 如果不愿意集成这个js的可以采用下载源码1.8版本,把1342行到1356行copy出来用function就可以
2.后端根据_.escape(str) 源码编写一套相同的转义。 已经写好可以文章后自行下载
为什么这么解决呢?
是因为前后端通用,且规范
代码
1.前端
<script type="text/javascript" src="js/lib/underscore/underscore.js"></script><script>var source = "<font>chen磊 xing</font>";console.log(source);console.log(_.escape(source));console.log(_.unescape(_.escape(source)));</script>
2.后端
package com.fanfan.util;import org.apache.commons.lang.StringEscapeUtils;/*** 学习一下 前端Underscorejs 的 思想* * @ClassName UnderscoreUtil* @author <a href="892042158@qq.com" target="_blank">于国帅</a>* @date 2018年8月12日 下午8:02:20**/
public class _ {/*** var escapeMap = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''', '`': '`' };* * @Title htmlEncode* @author 于国帅* @date 2018年8月12日 下午8:05:47* @param source* @return String*/public static String escape(String source) {if (source == null) {return source;}StringBuffer buffer = new StringBuffer();char c = ' ';for (int i = 0; i < source.length(); i++) {c = source.charAt(i);switch (c) {case '&':buffer.append("&");break;case '<':buffer.append("<");break;case '>':buffer.append(">");break;case '"':buffer.append(""");break;case '\'':buffer.append("#x27;");break;case '`':buffer.append("`");break;default:buffer.append(c);}}return buffer.toString();}public static void main(String[] args) {String source = "<font>chen磊 xing</font>";System.err.println("StringEscapeUtils的转义 汉字也会被转义");System.err.println(StringEscapeUtils.escapeHtml(source));System.err.println("模拟 underscore.js的转义");System.err.println(_.escape(source));}
}
控制台打印
超级简单的 html 转义与反转义相关推荐
- java中jq转移符,使用StringEscapeUtils对Java中特殊字符进行转义和反转义
https://blog.csdn.net/zdx1515888659/article/details/84966214 Java中转义字符反斜杠 \ 的代替方法 | repalceAll 内涵解析 ...
- TML转义字符:xss攻击与HTML字符的转义和反转义
xss与转义符 xss简单来说: XSS 攻击是页面被注入了恶意的代码 XSS 漏洞是 可以让攻击者注入恶意代码可执行的漏洞 具体参看之前写的: web开发前端安全问题总结--web前端安全问题汇总 ...
- 【JavaScript框架封装】JavaScript中的文本字符串的转义和反转义的实现
版权声明:本文为博主原创文章,未经博主允许不得转载.更多学习资料请访问我爱科技论坛:www.52tech.tech https://blog.csdn.net/m0_37981569/article/ ...
- php 转义字符处理,PHP转义与反转义字符串函数详解
在PHP语言中,字符串的转义与反转义是可以使用PHP提供的自有函数addslashes()函数和stripslashes()函数来实现. 1. addslashes()函数 addslashes() ...
- Java - 利用StringEscapeUtils对字符串进行各种转义与反转义
来自:http://blog.csdn.net/chenleixing/article/details/43456987 --------------------------------------- ...
- fastjson html 转义,JSONString的转义和反转义
jar包 org.apache.commons commons-lang3 3.8.1 org.apache.commons commons-text 1.8 代码 import com.alibab ...
- html转义和反转义
我们把一段html代码存入数据库中,然后我们读取出来的时候,系统就给我们转义了 这时候我们把这段显示在html中就显示不出来本来的效果,只能显示一段文本 这时候我们据需要反转义了 //HTML反转义 ...
- html转义字符解码,js对html转义和反转义以及编码和解码
在项目开辟过程当中,我会有时候赶上如许的一个营业需求:对从数据库中读取出来的html数据举行反转义,才在当前网页当前举行衬着. 或许另一个需求,对编辑器中的文本举行编码再传进数据库,或许从库中读取的数 ...
- js对html转义和反转义以及编码和解码
js对html转义和反转义以及编码和解码 在项目开发过程中,我会有时候遇上这样的一个业务需求:对从数据库中读取出来的html数据进行反转义,才能在当前网页当前进行渲染. 或者另一个需求,对编辑器中的文 ...
最新文章
- 一篇文章能够看懂基础代码之CSS
- POJ 2151 Check the difficulty of problems (概率dp)
- RabbitMQ消息发送和接收
- Struts2漏洞和Struts Scan工具实战
- new 实例化对象是啥意思_前端经典面试题解密:JS的new关键字都干了什么?
- 华语乐坛趋势报告(2022)
- C#LeetCode刷题之#263-丑数(Ugly Number)
- Redis学习-string数据类型
- 烂泥:更换ESXI5.0管理网卡及管理IP地址
- 又忙了一天,什么书也不看。
- 数据的转换(shp sde mdb 之间的转换)
- Windows2003内置用户组介绍
- python和java哪个好找工作-2019年Python、Java、C++学哪个更好?薪资更高?
- 拓端tecdat|Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化
- 2018-08-31 基于CSS3D视角,实现视差滚动
- 基于GraphQL的数据网关实现
- 计算机安装系统后鼠标无法使用,重装系统后鼠标不能用
- 非科班、跨行业的如何走前端这条路?
- 拜耳再投4亿元提升在华处方药产能;阿斯利康进博会公布新冠疫苗最新进展 | 美通企业日报...
- vue自定义表格(每一列表格下面包含一个子表格)
热门文章
- Android 10.0 禁用Recent键(任务键)
- 文章入选人工智能内容榜第一名
- Servlet_W3School
- 计算机视觉光源分类、特点及其优化方法
- 在线问题反馈模块实战(十八):实现excel台账文件记录批量导入功能
- Linux网络编程基础1(网络应用程序设计模式,分层模型,协议格式)
- 2-4HTML和CSS\第1节 概念介绍\第2节 基本标签
- 中移动自有手机操作系统--OMS布局移动互联网!
- 交换机的Access口与Trunk口
- mingw报未定义引用gdi32中函数,undefined reference to `__imp_CreateCompatibleDC‘错误解决办法