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;  
        }

  • 相关阅读:
    gitlab 拉代码提示:Your Account has been blocked. fatal: Could not read from remote repository. 最佳解决方案
    关于C语言开大数组溢出的问题
    三元组转置稀疏矩阵
    传递二维数组
    vue3下把json放哪才能获得get到
    VM下Ubuntu的nat模式连不上wifi
    C3863 不可指定数组类型“int [510]”
    PAT1005 Spell It Right
    PAT1004 Counting Leaves
    PAT1002 A+B for Polynomials
  • 原文地址:https://www.cnblogs.com/dearxinli/p/4742399.html
Copyright © 2011-2022 走看看