Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
xml的Javascript编码_Javascript_Xml_String_Replace - Fatal编程技术网

xml的Javascript编码

xml的Javascript编码,javascript,xml,string,replace,Javascript,Xml,String,Replace,我试图用javascript对输入进行编码,这样它们就不会破坏我创建的xml。现在我有这个 函数encodeMe(myString){ myString.replace(“&”、“&”); myString.replace(“,”>”); myString.replace(“\”,“&apos”); myString.replace(“'”,“”); 返回myString; } 出于某种原因,前两个替换项不能正常工作,并且仍然破坏了我的xml,这有四点: replace返回更新后的字

我试图用javascript对输入进行编码,这样它们就不会破坏我创建的xml。现在我有这个

函数encodeMe(myString){
myString.replace(“&”、“&”);
myString.replace(“,”>”);
myString.replace(“\”,“&apos”);
myString.replace(“'”,“”);
返回myString;
}
出于某种原因,前两个替换项不能正常工作,并且仍然破坏了我的xml,这有四点:

  • replace
    返回更新后的字符串,因此必须使用返回值

  • 当第一个参数是字符串时,它只替换第一次出现的参数;要替换所有参数,必须使用
    g
    标志给出一个正则表达式

  • 字符实体以
    结尾(例如,
    ,而不是

  • ,而不是
    '
    '
    ,而不是

  • 例如:

    function encodeMe(myString) {
          mystring = myString.replace(/&/g, "&");
          mystring = myString.replace(/</g, "&lt;");
          mystring = myString.replace(/>/g, "&gt;");
          mystring = myString.replace(/"/g, "&quot;");
          mystring = myString.replace(/'/g, "&apos;");
          return myString;
    }
    
    函数encodeMe(myString){
    mystring=mystring.replace(/&/g,“&;”);
    mystring=mystring.replace(//g,“”);
    mystring=mystring.replace(/“/g,”);
    mystring=mystring.replace(/'/g,“&apos;”);
    返回myString;
    }
    
    当然,还有一个长链桩:

    function encodeMe(myString) {
          mystring = myString.replace(/&/g, "&amp;")
                             .replace(/</g, "&lt;")
                             .replace(/>/g, "&gt;")
                             .replace(/"/g, "&quot;")
                             .replace(/'/g, "&apos;");
          return myString;
    }
    
    函数encodeMe(myString){
    mystring=mystring.replace(/&/g,“&;”)
    .replace(//g,“”)
    .替换(/“/g,”)
    .替换(/“/g,“&apos;”);
    返回myString;
    }
    
    我也不是100%确定XML是否有
    HTML可以,但我不确定XML是否可以--不过我想你的最后两个角色已经换了

    您希望这些替换也具有全局标志

    function encodeMe(myString) {
         var r = myString.replace("&", "&amp;")
           .replace("<", "&lt;")
           .replace(">", "&gt;")
           .replace("\"", "&apos;")
           .replace("'", "&quot;");
    
          return r
    }
    
    函数encodeMe(myString){
    var r=myString.replace(“&”、“&;”)
    .替换(“,”)
    .替换(“\”、“&apos;”)
    .替换(“,”);
    返回r
    }
    
    改用外部
    .js
    ?或者CDATA数据块。很好地抓住了quot/apos这一点。