javascript转义unicode十六进制编码且带有反斜杠后的html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
.container{
padding:30px 60px;
}
.wrap{
padding:10px 0;
}
.textarea{
width: 98%;
border: 1px solid #dcdee2;
height: 320px;
resize: vertical;
text-shadow: 0 1px 0 rgba(255,255,255,.5);
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
padding: 5px 10px;
margin-bottom:10px;
}
.btn{
display: inline-block;
margin-bottom: 0;
font-weight: 400;
text-align: center;
-ms-touch-action: manipulation;
touch-action: manipulation;
cursor: pointer;
background-image: none;
border: 1px solid transparent;
white-space: nowrap;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
padding: 5px 15px 6px;
font-size: 12px;
border-radius: 4px;
transition: color .2s linear,background-color .2s linear,border .2s linear,box-shadow .2s linear;
color: #515a6e;
background-color: #fff;
border-color: #dcdee2;
}
.btn-primary {
color: #fff;
background-color: #2d8cf0;
border-color: #2d8cf0;
font-size: 15px;
margin-bottom:20px;
}
.btn-primary:hover {
color: #fff;
background-color: #57a3f3;
border-color: #57a3f3;
}
.btn:focus {
outline: 0;
}
</style>
</head>
<body>
<div class="container">
<h1>在线转义html代码</h1>
<p>粘贴代码(unicode十六进制代码)</p>
<div>
<textarea name="" class="textarea" id="response-html" placeholder="粘贴response填充代码,形如:\u003c!doctype html\u003e \u003chtml\u003e \u003chead\u003e \u003ctitle\u003eMintegral Interactive Ad\u003c/title\u003e \u003clink href=https://cdn.bootcss.com/Swiper/4.3.2/css/swiper.min.css rel=stylesheet\u003e \u003cmeta name=viewport content=\"initial-scale=1,maximum-scale=1,user-scalable=no\"/\u003e \u003cmeta name=author content=Mintegral\u003e \u003cmeta http-equiv=Content-Type content=\"text/html; charset=utf-8\"\u003e \u003cstyle\u003eg/1.jpg)\u003e \u003cdiv class=obg\u003e\u003c/div\u003e \u003ca …………"></textarea>
<button class="btn btn-primary" type="button" id="btn-transfer">转义</button>
<textarea name="" class="textarea" id="transfer-html"></textarea>
</div>
</div>
<script>
//转义html代码
function decodeUnicode(str) {
//先把十六进制unicode编码/u替换为%u
str = str.replace(/\\u/gi,'%u');
//再把页面中反斜杠替换为空
str = str.replace(/\\/gi,'');
return unescape(str);
}
let btn=document.getElementById("btn-transfer");
let responseHtml=document.getElementById("response-html");
let transferHtml=document.getElementById("transfer-html");
btn.onclick=function () {
//获取当前转义前html
let html=responseHtml.value;
//输出转义后html
transferHtml.value=decodeUnicode(html);
}
</script>
</body>
</html>
由于后端返回的html代码中所有标签前后都有反斜杠“\”,且有\uxxxx形式的十六进制unicode编码,如果直接把所有反斜杠替换为%,则会把标签前后的反斜杠一并替换,导致最后无法转义,所以先把十六进制开头的\u替换为%u,则可以使用unescape转码,然后再单独把反斜杠替换为空返回即可。这里使用decodeURI或者decodeURIComponent方法会报错,应该代码格式不对。
javascript转义unicode十六进制编码且带有反斜杠后的html的更多相关文章
- Apache伪静态在网站目录没有反斜杠后自动添加反斜杠
第一步:确认网站开启REWRITE规则 一般有两种情况: i.apache安装的时候已经包含rewrite功能 ii.后续配置的时候新添加mod_rewrite.so.这种情况需要在httpd.con ...
- MySQL中如何插入反斜杠,反斜杠被吃掉,反斜杠转义
问题描述:mysql中带有反斜杠的内容入库后,发现反斜杠无故失踪了(俗话说被吃掉了) 例:插入insert into tb('url') values('absc\eeee'); 结果数据库里的内容是 ...
- RestTemplate接收HashMap变为LinkedHashMap,RestTemplate接收数据后转成json数据出现反斜杠
使用postForObject方法远程调用接口,正常会返回List<HashMap>,然而实际上却返回List<LinkedHashMap>,同时将此数据进行json转换,变成 ...
- 关于C# webapi ,接口返回字符串和json格式 ,返回值中有反斜杠
最近遇到一个比较郁闷的问题,记录一下 写了一个接口,想返回json 数据,但是返回值中总是带有反斜杠... ,下面来看原因 首先,配置 webapi的路由 App_Start 文件夹下 ,WebApi ...
- python 中的反斜杠匹配的问题
关于反斜杠的匹配问题可以参考: https://www.cnblogs.com/mzc1997/p/7689235.html 文章中提出了两个概念: 字符串转义和正则转义,我觉得是理解反斜杠的关键所在 ...
- javascript 反斜杠\
通常,我们在动态给定一个div的innerHTML时,通常是样做的: <div id="demo1" /> <SCRIPT> var demo= docum ...
- PHP,JAVA,JAVASCRIPT的正则表达式里的反斜杠\的不通之处
我的博客:www.while0.com 首先,java和javascript强制字符串输出\必须用\转义,所以要输出一个\,java和javascript都要两个\: java代码: String s ...
- encodeURIComponent编码反斜杠 \ (正则匹配)
记录一个小bug... 前言废话: 1. 功能需求:修改输入框的内容,获取字符串传给后端保存. 2. bug历程:刚开始直接获取value值传过去.后来测试发现%&这些特殊字符无法传递后,在前 ...
- JavaScript 使用反斜杠对代码行进行折行
JavaScript对代码行进行折行-使用反斜杠 您可以在文本字符串中使用反斜杠对代码行进行换行.下面的例子会正确地显示: <html> <head> <script t ...
随机推荐
- BZOJ4739 : 定向越野
起点/终点向每个圆的切点连边. 任意两个圆的公切点之间连边. 同一圆上相邻两个关键点之间连边. 然后Dijkstra求最短路即可,时间复杂度$O(n^3)$. 注意判边可行性的时候要忽略这条边来源的圆 ...
- [P1082][NOIP2012] 同余方程 (扩展欧几里得/乘法逆元)
最近想学数论 刚好今天(初赛上午)智推了一个数论题 我屁颠屁颠地去学了乘法逆元 然后水掉了P3811 和 P2613 (zcy吊打集训队!)(逃 然后才开始做这题. 乘法逆元 乘法逆元的思路大致就是a ...
- Moo University - Financial Aid [POJ2010] [堆]
题意: 在C头牛里选N头牛,每头牛需要花掉一定经费ai才能得到一定得bi分,在不超过经费F的情况下,使得N头牛的得分中位数最大.(1 <= N <= 19,999,奇数) (N <= ...
- jQueryUI使用指南
jQuery UI包含了许多维持状态的小部件(Widget),因此,它与典型的 jQuery 插件使用模式略有不同.所有的 jQuery UI 小部件(Widget)使用相同的模式,所以,只要您学会使 ...
- Python基础-列表、元祖、字典、字符串
列表和分组 序列概览: 数据结构是通过某种方式组织在一起的数据元素的集合.这些元素可以是数字.字符,甚至可以是其他数据结构. 在python中,最基本的数据结构是序列(sequence). 序列中的每 ...
- 使用python实现深度神经网络 1(转)
使用python实现深度神经网络 1(转) https://blog.csdn.net/oxuzhenyi/article/details/73026790
- 微信小程序登录逻辑
wx.getStorage({ key: 'session_id', success: function(res) { //如果本地缓存中有session_id,则说明用户登陆过 console.lo ...
- gdb fabs错误输出
https://sourceware.org/gdb/wiki/FAQ GDB doesn't know the return type nor the type of the arguments f ...
- yarn upgrade
更新一个依赖 yarn upgrade 用于更新包到基于规范范围的最新版本 yarn upgrade --latest # 忽略版本规则,升级到最新版本,并且更新 package.json .
- GopherChina 2018
https://github.com/gopherchina/conference/tree/master/2018