PHP – Filters nâng cao

Validate một Integer trong khoảng

Ví dụ sau sử dụng hàm filter_var() để kiểm tra xem một biến có thuộc kiểu INT hay không và từ 1 đến 200:

<?php
$int = 122;
$min = 1;
$max = 200;

if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false) {
    echo("Variable value is not within the legal range");
} else {
    echo("Variable value is within the legal range");
}
?>

Validate IPv6 Address

Ví dụ sau sử dụng hàm filter_var() để kiểm tra xem biến $ip có phải là một IPv6 hợp lệ không:

<?php
$ip = "2001:0db8:85a3:08d3:1319:8a2e:0370:7334";

if (!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) === false) {
    echo("$ip is a valid IPv6 address");
} else {
    echo("$ip is not a valid IPv6 address");
}
?>

Validate URL – chứa QueryString

Ví dụ sau sử dụng hàm filter_var() để kiểm tra xem biến $url có phải là URL có querystring:

<?php
$url = "https://www.w3schools.com";

if (!filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false) {
    echo("$url is a valid URL");
} else {
    echo("$url is not a valid URL");
}
?>

Xóa ký tự có Value ASCII > 127

Ví dụ sau sử dụng hàm filter_var() để sanitize một chuỗi. Nó sẽ loại bỏ tất cả các thẻ HTML và tất cả các ký tự có giá trị ASCII > 127:

<?php
$str = "<h1>Hello WorldÆØÅ!</h1>";

$newstr = filter_var($str, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
echo $newstr;
?>