Filter Examples

An example of using filter_var():
RESETRUNFULL
<!DOCTYPE html><html><head></head>
<body><?php
var_dump(filter_var('yes',
                    FILTER_VALIDATE_BOOLEAN,              
                    FILTER_NULL_ON_FAILURE));
echo "<br />";
var_dump(filter_var('hi',
                    FILTER_VALIDATE_BOOLEAN,
                    ['flags' => FILTER_NULL_ON_FAILURE]));
echo "<br />";
var_dump(filter_var('0654', 
                    FILTER_VALIDATE_INT,
                    ['options' => ['default' => 3, // if the filter fails
                                         'min_range' => 0],
                     'flags' => FILTER_FLAG_ALLOW_OCTAL]));
echo "<br />";
var_dump(filter_var('http://www.example.com/test/test.php?
username=hello&password=world',
                    FILTER_VALIDATE_URL,  
                    FILTER_FLAG_PATH_REQUIRED| FILTER_FLAG_QUERY_REQUIRED));
echo "<br />";
var_dump(filter_var('(testing@example.com)', FILTER_SANITIZE_EMAIL));
echo "<br />";

function foo($value){return "$value (verified)";}
var_dump(filter_var('William, Thomas Lee', 
                    FILTER_CALLBACK, 
                    ['options' => 'foo']));
?></body></html>
An example of using filter_var_array():
<!DOCTYPE html><html><head></head>
<body><?php
$data = [
    'test_id'     => 'link<meta>',
    'number'    => '6',
    'version'     => '4.3.31',
    'testscalar'  => ['1','12','30','82'],
    'testarray'   => '2'];

$args = [
    'test_id'         => FILTER_SANITIZE_ENCODED,
    'number'        => ['filter' => FILTER_VALIDATE_INT,
                               'flags'  => FILTER_FORCE_ARRAY, 
                               'options' => ['min_range'=>1, 'max_range'=>100]],
    'version'         => FILTER_SANITIZE_ENCODED,
    'doesnotexist' => FILTER_VALIDATE_INT,
    'testscalar'      => ['filter' => FILTER_VALIDATE_INT,
                                'flags'  => FILTER_REQUIRE_SCALAR],
    'testarray'       => ['filter' => FILTER_VALIDATE_INT,
                                'flags'  => FILTER_FORCE_ARRAY]];

var_dump(filter_var_array($data, $args));

?></body></html>

array(6) { 
      ["test_id"]=> string(14) "link%3Cmeta%3E"    
      ["number"]=> array(1) { [0]=> int(6) } 
      ["version"]=> string(6) "4.3.31"
      ["doesnotexist"]=> NULL 
      ["testscalar"]=> bool(false) 
      ["testarray"]=> array(1) { [0]=> int(2) } }