PHP -Sanitize values of a array
Just use the filter extension.
/* prevent XSS. */$_GET = filter_input_array(INPUT_GET, FILTER_SANITIZE_STRING);$_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
This will sanitize your $_GET
and $_POST
.
Have a look at array_map
<?php $a = array('title' => 'Title','data' => array( 'hdr' => 'Header', 'bdy' => 'Body' ),'foo' => array(1, 23, 65));$b = array_map("strip_tags", $a);print_r($b);?>
Update for 2D array:
function array_map_r( $func, $arr ){ $newArr = array(); foreach( $arr as $key => $value ) { $newArr[ $key ] = ( is_array( $value ) ? array_map_r( $func, $value ) : ( is_array($func) ? call_user_func_array($func, $value) : $func( $value ) ) ); } return $newArr;}
Usage:
$a = array('title' => 'Title','data' => array( 'hdr' => 'Header', 'bdy' => 'Body' ),'foo' => array(1, 23, 65)); $ar =array_map_r('strip_tags', $a);print_r($ar);
Note I found this just by searching the comments for Dimension
function strip($string, $allowed_tags = NULL){ if (is_array($string)) { foreach ($string as $k => $v) { $string[$k] = strip($v, $allowed_tags); } return $string; } return strip_tags($string, $allowed_tags);}
Just an example of a recursive function, for stripping tags in this case.
$arr = strip($arr);