zoukankan      html  css  js  c++  java
  • js把预定义的html字符串转换为 HTML 实体 htmlspecialchars 输出html实体内容包括标签,而不自动转义标签,只显示内容,类似php的htmlspecialchars

    一、html字符串转换为 HTML 实体 htmlspecialchars

    function htmlspecialchars(str){           
              str = str.replace(/&/g, '&');  
              str = str.replace(/</g, '&lt;');  
              str = str.replace(/>/g, '&gt;');  
              str = str.replace(/"/g, '&quot;');  
              str = str.replace(/'/g, '&#039;');  
              return str;  
    }  
            
    //这个版本多转换了一些内容  
    function htmlspecialchars(str) {       
                  var s = "";  
                  if (str.length == 0) return "";  
                  for   (var i=0; i<str.length; i++)  
                  {  
                      switch (str.substr(i,1))  
                      {  
                          case "<": s += "&lt;"; break;  
                          case ">": s += "&gt;"; break;  
                          case "&": s += "&amp;"; break;  
                          case " ":  
                              if(str.substr(i + 1, 1) == " "){  
                                  s += " &nbsp;";  
                                  i++;  
                              } else s += " ";  
                              break;  
                          case """: s += "&quot;"; break;  
                          case " ": s += "<br>"; break;  
                          default: s += str.substr(i,1); break;  
                      }  
                  }  
                  return s;  
              }

    二、HTML实体 转换为 html字符串 htmlspecialchars_decode

        将上面的htmlspecialchars中的匹配反过来如:

        function htmlspecialchars_decode(str){           
                  str = str.replace(/&amp;/g, '&');
                  str = str.replace(/&lt;/g, '<');
                  str = str.replace(/&gt;/g, '>');
                  str = str.replace(/&quot;/g, "''");  
                  str = str.replace(/&#039;/g, "'");  
                  return str;  
        }

  • 相关阅读:
    关于技术开发部员工培训文稿
    关于CLR、CIL、CTS、CLS、CLI、BCL和FCL
    MSIL(IL)百科
    汇编百科
    exe文件百科
    解释一下.net平台的语言无关性和语言继承性
    关于视频流媒体服务器的学习记录
    Ubuntu18.04的下载与安装(全过程纪录)
    记主板的南桥芯片和北桥芯片作用及区别(“干南桥”)
    我的Java资料小栈-START
  • 原文地址:https://www.cnblogs.com/dearxinli/p/4742399.html
Copyright © 2011-2022 走看看