background image

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