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


  本文标签:php,addslashes

实现代码:

复制代码 代码如下:

<?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 >" }