Method One: (Loop)
/******************************************************************** Tool Class *************************************** ****
* Description: Depth Plus/delete backslash
Parameters
* &data: Specifies an array of replacements
* Func:addslashes (default) = Add a backslash, stripslashes= remove backslash
*/
public static function &slashesdeep (& $data, $func = ' addslashes ') {
$waitList = Array (& $data); Pending list
do {
$wk = key ($waitList);
$WV = & $waitList [$WK];
Unset ($waitList [$wk]);
if (Is_array ($WV)) {
$result = Array (); Results list
foreach ($wv as $k = & $v) {
$result [$func ($k)] = & $v;
$waitList [] = & $v;
}
$WV = $result;
} else if (is_string ($WV)) {
$WV = $func ($WV);
}
} while (!empty ($waitList));
return $data;
}
Method Two: (Recursive)
/**
* The recursive way to escape special characters in a variable
*
* @access Public
* @param mix $value
*
* @return Mix
*/
function Addslashes_deep ($value)
{
if (empty ($value))
{
return $value;
}
Else
{
Return Is_array ($value)? Array_map (' Addslashes_deep ', $value): Addslashes ($value);
}
}
/**
* Recursive method to remove escape from special characters in variable
*
* @access Public
* @param mix $value
*
* @return Mix
*/
function Stripslashes_deep ($value)
{
if (empty ($value))
{
return $value;
}
Else
{
Return Is_array ($value)? Array_map (' Stripslashes_deep ', $value): Stripslashes ($value);
}
}
Recursive escape/removal of special characters in variables