How to check if a string is IPv4 or IPv6 or invalid in PHP

1 Answer

0 votes
function check_ip_address(string $s): string
{
    if (filter_var($s, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
        return "IPv4";
    }

    if (filter_var($s, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
        return "IPv6";
    }

    return "Invalid";
}

echo check_ip_address("112.128.1.2") . PHP_EOL;
echo check_ip_address("2001:0dc7:85b2:0000:0000:6d3e:0380:8651") . PHP_EOL;
echo check_ip_address("999.999.999.999") . PHP_EOL;
echo check_ip_address("abc") . PHP_EOL;



/*
run:

IPv4
IPv6
Invalid
Invalid

*/

 



answered Jan 19 by avibootz

Related questions

...