elleryq
9/24/2014 - 2:16 AM

用 filter_var 檢查字串是否符合 IPv4 格式,以及濾掉不合法字元。

用 filter_var 檢查字串是否符合 IPv4 格式,以及濾掉不合法字元。

<?php
echo "Hello\n";

$successedString = "192.168.11.1";
$valid = filter_var($successedString, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_RES_RANGE);
echo "\n1.'" . $successedString . "'" . var_dump($valid) . "\n";
if(!$valid) {
    echo "IP is not valid\n";
}
else {
    echo "IP is valid.\n";
}

$successedString = "192.168.11.1/8";
$valid = filter_var($successedString, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_RES_RANGE);
echo "\n2.'" . $successedString . "'" . var_dump($valid) . "\n";
if(!$valid) {
    echo "IP is not valid\n";
}
else {
    echo "IP is valid.\n";
}

$failedString = "12345678";
$valid = filter_var($failedString, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_RES_RANGE);
echo "\n3.'" . $failedString . "'" . var_dump($valid) . "\n";
if(!$valid) {
    echo "IP is not valid\n";
}
else {
    echo "IP is valid.\n";
}

/*** a string with tags ***/
$string = "<script>\"'foo'\"</script>";

/*** sanitize the string ***/
echo filter_var($string, FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES) . "\n";

?>