PHP manual: filter_var_array ()
mixed filter_var_array ( array $data [, mixed $definition [, bool $add_empty = true ]] )
Could something like this for the argument $ of the filter_var_array() call work? (array syntax> = PHP5.4)
$def = [ 'firstName' => ['filter' => FILTER_SANITIZE_STRING, 'flags' => [FILTER_REQUIRE_SCALAR | FILTER_FLAG_NO_ENCODE_QUOTES | FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH]], 'lastName' => ['filter' => FILTER_SANITIZE_STRING, 'flags' => [FILTER_REQUIRE_SCALAR | FILTER_FLAG_NO_ENCODE_QUOTES | FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH]], ];
Uses only one flag at a time, the only way to use flags when using filter_input_array() ? For example: (wrote a long way, although I could do it with a loop).
$def1 = [ 'firstName' => ['filter' => FILTER_SANITIZE_STRING, 'flags' => FILTER_REQUIRE_SCALAR], 'lastName' => ['filter' => FILTER_SANITIZE_STRING, 'flags' => FILTER_REQUIRE_SCALAR] ]; $def2 = [ 'firstName' => ['filter' => FILTER_SANITIZE_STRING, 'flags' => FILTER_FLAG_NO_ENCODE_QUOTES], 'lastName' => ['filter' => FILTER_SANITIZE_STRING, 'flags' => FILTER_FLAG_NO_ENCODE_QUOTES] ]; $def3 = [ 'firstName' => ['filter' => FILTER_SANITIZE_STRING, 'flags' => FILTER_FLAG_STRIP_LOW], 'lastName' => ['filter' => FILTER_SANITIZE_STRING, 'flags' => FILTER_FLAG_STRIP_LOW] ]; $def4 = [ 'firstName' => ['filter' => FILTER_SANITIZE_STRING, 'flags' => FILTER_FLAG_STRIP_HIGH], 'lastName' => ['filter' => FILTER_SANITIZE_STRING, 'flags' => FILTER_FLAG_STRIP_HIGH] ];
source share