在php中去除多维数组标记的最佳方法

时间:2015-02-05 20:03:00

标签: php arrays forms post

我有一个表单,通过POST方法将 3维数组发送到控制器。在那个控制器中,我需要删除我的3D POST变量中每个元素的内容,使用php内置函数strip_tags($variable) 什么是最好的解决方案。 我尝试了以下代码,但最后得到一个空的post变量:

$temp = array();
function stripTags($v, $k)
{
    if ($v != 'preferences' && $v != 'title'):
        $temp[$v] = strip_tags($k);
    else:
        $temp[$v] = $k;
    endif;
}
//Clean up the $_POST
if (is_array($_POST)):
    array_walk_recursive($_POST, 'stripTags');
    $_POST = $temp;
endif;

1 个答案:

答案 0 :(得分:0)

来自strip_tags文档评论:

function strip_tags_deep($value)
{
  return is_array($value) ?
    array_map('strip_tags_deep', $value) :
    strip_tags($value);
}

// Example
$array = array('<b>Foo</b>', '<i>Bar</i>', array('<b>Foo</b>', '<i>Bar</i>'));
$array = strip_tags_deep($array);

// Output
print_r($array);