Php $\u双引号后正在截断POST数据

Php $\u双引号后正在截断POST数据,php,post,simplexml,Php,Post,Simplexml,我们有一台运行PHP5.3的服务器,上面有神奇的引号: magic_quotes_gpc On On magic_quotes_runtime Off关闭 每当我们收到一篇文章(CONTENT_TYPE:application/x-www-form-urlencoded),其中包含未净化的XML(元素负载中有引号,&),SimpleXML都无法解析它 当我查看原始$u POST转储时,XML从第一个非法字符向前截断。以前从没见过这个 然后,我添加了htmlspecialchars,大家都很高兴,

我们有一台运行PHP5.3的服务器,上面有神奇的引号:

magic_quotes_gpc On On
magic_quotes_runtime Off关闭

每当我们收到一篇文章(CONTENT_TYPE:application/x-www-form-urlencoded),其中包含未净化的XML(元素负载中有引号,&),SimpleXML都无法解析它

当我查看原始$u POST转储时,XML从第一个非法字符向前截断。以前从没见过这个

然后,我添加了htmlspecialchars,大家都很高兴,XML能够被SimpleXML解析

$payload = htmlspecialchars(stripslashes(trim($postXMLPayload)));
这表明完整但非法的XML确实在$\u POST数组中,但当我试图查看它时,它被截断了

我正在通过电子邮件发送$u POST中的值,并对其进行数据存储,在这两种情况下都是如此 $\u POST中的值被截断

下面是我如何获得$u POST值的

if(isset($_POST)){

foreach($_POST as $k=>$v){

    if(preg_match('/^\<\?xml/',trim($v))){

        $postXMLPayload = $v;
        break;
    }

}
if(isset($\u POST)){
foreach($\发布为$k=>$v){

如果(预匹配)('/^\post很可能没有被截断。如果您只是简单地回显它,它很可能被视为一个打开的html标记。回显时查看源代码,您很可能会看到整个xml。这一点很好。谢谢。我实际上是在将$\u post值保存在一个变量中,并以这种方式通过电子邮件和数据库发送该值。