zoukankan      html  css  js  c++  java
  • JS实现HTML标签转义及反转义

    今天我用ueditor时候遇到一个问题:

      我从数据库中读取内容进行编辑的时候,不是有一些html标签嘛,从数据库读出来没有问题;

      但是我用asp.net mvc,把读取出来的内容通过ueditor的api方法赋值到编辑区域的时候html标签被转义了;

      比如<变为了&lt;

      我跟踪代码看后端取到的数据没有问题,返回到前端的时候html标签页都正常可以看到,但就是在js中直接被转义了,我还是不死心啊,先在后端用html编码一次,用HttpUtility.HtmlEncode方法编码一次,在Razor中再使用一次HtmlDecode,还是不能解决问题;

      由此可以看出确实是浏览器端自己转义了,大概是由于各种安全原因吧;只能上网找代码了,通过js对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;
    }
    
    function HTMLDecode(text) { 
        var temp = document.createElement("div"); 
        temp.innerHTML = text; 
        var output = temp.innerText || temp.textContent; 
        temp = null; 
        return output; 
    } 

    由此解决了问题!非常感谢这位博主的代码!

    引用代码的地址:http://blog.600km.xyz/2015/12/15/js-encode-html-tags/

  • 相关阅读:
    [cf 947E] Perpetual Subtraction
    loj3120. 「CTS2019 | CTSC2019」珍珠
    loj「LibreOJ NOI Round #2」不等关系
    loj6395. 「THUPC2018」城市地铁规划 / City
    loj2553. 「CTSC2018」暴力写挂
    loj6270. 数据结构板子题
    loj6358. 前夕
    loj6677. EntropyIncreaser 与菱形计数
    fiddler模拟接口响应数据
    Fiddler请求详解/autoResponseder重定向
  • 原文地址:https://www.cnblogs.com/zzgblog/p/5819807.html
Copyright © 2011-2022 走看看