php addslashes 利用递归实现使用反斜线引用字符串
以下是一览
PHP 对 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 >" }