php addslashes 利用递归实现使用反斜线引用字符串

yipeiwu_com5年前PHP代码库

实现代码:

复制代码 代码如下:

<?php
function addslashes_deep($value)
{
//史上最经典的递归,一行搞定
return is_array($value) ? array_map('addslashes_deep', $value) : addslashes($value);
}

//测试数据
$_POST['STR'] = "'fanglor ' is \ a  boy  >'";
$_GET['STR1'] = 'fanglor " is \ a  boy  >';

echo '当前get_magic_quotes_gpc为  '.get_magic_quotes_gpc();
echo "<br/>";

//判断当前是否开启get_magic_quotes_gpc
if (!get_magic_quotes_gpc()){
$_POST = addslashes_deep($_POST);
$_GET = addslashes_deep($_GET);
$_COOKIE = addslashes_deep($_COOKIE);
}

//打印结果
var_dump ($_POST);
echo "<br/>";
var_dump ($_GET);

?>


打印结果:
当前get_magic_quotes_gpc为 0
array(1) { ["STR"]=> string(30) "\'fanglor \' is \\ a boy >\'" }
array(1) { ["STR1"]=> string(26) "fanglor \" is \\ a boy >" }

相关文章

10个超级有用值得收藏的PHP代码片段

尽管PHP经常被人诟病,被人贬低,被人当玩笑开,事实证明,PHP是全世界网站开发中使用率最高的编程语言。PHP最大的缺点是太简单,语法不严谨,框架体系很弱,但这也是它最大的优点,一个有点...

PHP 生成的XML以FLASH获取为乱码终极解决

经过探索最终解决。记录之,顺便也记录了通用解决方案。如果你也遇到XML<->FLASH乱码情况,可以速查: 1.确信XML绝对没有问题的情况: 首先,flash读取xml出现...

关于PHP转换超过2038年日期出错的问题解决

前言 最近在写一个项目接口。测试中发现服务器上测试正常的功能,在本地一直有问题。一步步的排查,最终锁定问题是由于函数strtotime返回了一个false值,导致数据插入数据库失败。 相...

探讨:使用XMLSerialize 序列化与反序列化

概念:XML序列化是将公共字段和属性转化为序列格式(这里指XML),以便存储或传输的过程。反序列化则是从XML中重新创建原始状态的对象.复制代码 代码如下:  &nb...

解析php中curl_multi的应用

相信许多人对php手册中语焉不详的curl_multi一族的函数头疼不已,它们文档少,给的例子 更是简单的让你无从借鉴,我也曾经找了许多网页,都没见一个完整的应用例子。•cu...