目标 :

前后端通用,规范,实用的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 = { '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": ''', '`': '`' };* * @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("&amp;");break;case '<':buffer.append("&lt;");break;case '>':buffer.append("&gt;");break;case '"':buffer.append("&quot;");break;case '\'':buffer.append("#x27;");break;case '`':buffer.append("&#x60");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 转义与反转义相关推荐

  1. java中jq转移符,使用StringEscapeUtils对Java中特殊字符进行转义和反转义

    https://blog.csdn.net/zdx1515888659/article/details/84966214 Java中转义字符反斜杠 \ 的代替方法 | repalceAll 内涵解析 ...

  2. TML转义字符:xss攻击与HTML字符的转义和反转义

    xss与转义符 xss简单来说: XSS 攻击是页面被注入了恶意的代码 XSS 漏洞是 可以让攻击者注入恶意代码可执行的漏洞 具体参看之前写的: web开发前端安全问题总结--web前端安全问题汇总  ...

  3. 【JavaScript框架封装】JavaScript中的文本字符串的转义和反转义的实现

    版权声明:本文为博主原创文章,未经博主允许不得转载.更多学习资料请访问我爱科技论坛:www.52tech.tech https://blog.csdn.net/m0_37981569/article/ ...

  4. php 转义字符处理,PHP转义与反转义字符串函数详解

    在PHP语言中,字符串的转义与反转义是可以使用PHP提供的自有函数addslashes()函数和stripslashes()函数来实现. 1. addslashes()函数 addslashes() ...

  5. Java - 利用StringEscapeUtils对字符串进行各种转义与反转义

    来自:http://blog.csdn.net/chenleixing/article/details/43456987 --------------------------------------- ...

  6. fastjson html 转义,JSONString的转义和反转义

    jar包 org.apache.commons commons-lang3 3.8.1 org.apache.commons commons-text 1.8 代码 import com.alibab ...

  7. html转义和反转义

    我们把一段html代码存入数据库中,然后我们读取出来的时候,系统就给我们转义了 这时候我们把这段显示在html中就显示不出来本来的效果,只能显示一段文本 这时候我们据需要反转义了 //HTML反转义 ...

  8. html转义字符解码,js对html转义和反转义以及编码和解码

    在项目开辟过程当中,我会有时候赶上如许的一个营业需求:对从数据库中读取出来的html数据举行反转义,才在当前网页当前举行衬着. 或许另一个需求,对编辑器中的文本举行编码再传进数据库,或许从库中读取的数 ...

  9. js对html转义和反转义以及编码和解码

    js对html转义和反转义以及编码和解码 在项目开发过程中,我会有时候遇上这样的一个业务需求:对从数据库中读取出来的html数据进行反转义,才能在当前网页当前进行渲染. 或者另一个需求,对编辑器中的文 ...

最新文章

  1. LeetCode实战:最长回文子串
  2. 分布式系统的面试题11
  3. mysql约束建表规范_MySQL 建库建表规范
  4. LUA table.sort的问题,数组与表的区别
  5. 历史上唯独倒闭的两家银行,看看他们是如何破产的
  6. 处理文件、摄像头和图形用户界面
  7. apache配置多个站点
  8. SVN中,A项目如何共享B项目的内容
  9. MPCCI3.0.5\
  10. C语言队列(排队)先进先出.实现全部函数
  11. python - TXT章节文转为epub和mobi格式
  12. 交换机端口镜像配置大全【汇集 22个各种品牌交换机】
  13. Java选择排序(升序和降序)
  14. matlab从无到有系列(八):M文件及函数的编写
  15. STM32学习总结(二)
  16. 世界地图各大洲鼠标移入切换显示
  17. AARRR模型——变现:终极目标(下)
  18. python如何爬取网站所有目录_python 爬取网站的博客目录
  19. 2021年最新Java学习路线图
  20. 收藏 | 83篇文献,万字总结强化学习之路

热门文章

  1. input所有属性及作用
  2. 【正则表达式】常用的正则表达式(数字,汉字,字符串,金额等的正则表达式)
  3. ACM暑假总结7.17
  4. 历数史上八次1比3翻盘好戏
  5. ctfshow web入门 反序列化 前篇 254-266
  6. IDEA中实现mybatis generator生成
  7. Proteus所有元件名称
  8. 积极向上的心态会给予你无穷的力量
  9. kill -9 PID杀死进程使用到的系统调用
  10. 中国艺术《无善恶》孙溟㠭篆刻