PHP:当Magic Quotes为ON时,如何(正确)删除数组中的转义引号

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP:当Magic Quotes为ON时,如何(正确)删除数组中的转义引号脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
如您所知,当Magic Quotes为ON时,单引号会在值和键中转义.大多数在运行时删除Magic Quotes的解决方案只能取消值,而不是键.我正在寻找一种能够解决关键和价值观的解决方案……

我在PHP.net上发现了这段代码

$PRocess = array(&$_GET,&$_POST,&$_COOKIE,&$_REQUEST);
while (list($key,$val) = each($process))
{
    foreach ($val as $k => $v)
    {
        unset($process[$key][$k]);
        if (is_array($v))
        {
            $process[$key][stripslashes($k)] = $v;
            $process[] = &$process[$key][stripslashes($k)];
        }
        else
        {
            $process[$key][stripslashes($k)] = stripslashes($v);
        }
    }
}
unset($process);

但我不喜欢“&”引用和数组,因为我过去有像this one这样的bug …

是否有一种“更好”的方式来在运行时使用魔引号(键和值)而不是上面的方法

我认为这是一个更清洁,避免参考错误
function unMagicQuotify($ar) {
  $fixed = array();
  foreach ($ar as $key=>$val) {
    if (is_array($val)) {
      $fixed[stripslashes($key)] = unMagicQuotify($val);
    } else {
      $fixed[stripslashes($key)] = stripslashes($val);
    }
  }
  return $fixed;
}

$process = array($_GET,$_POST,$_COOKIE,$_REQUEST);
$fixed = array();
foreach ($process as $index=>$glob) {
  $fixed[$index] = unMagicQuotify($glob);
}
list($_GET,$_REQUEST) = $fixed;

脚本宝典总结

以上是脚本宝典为你收集整理的PHP:当Magic Quotes为ON时,如何(正确)删除数组中的转义引号全部内容,希望文章能够帮你解决PHP:当Magic Quotes为ON时,如何(正确)删除数组中的转义引号所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。