// Takes in an IP (either ipv4 or ipv6) along with a set of flag options // It then returns true/false if the IP is valid. // Keep in mind that this checks valid format, not its actual existence function isValidIP($ip, array $flags = []) { $accepted_flags = ['IPV4', 'IPV6', 'NO_PRIV_RANGE', 'NO_RES_RANGE']; $orFlags = 0; foreach ($flags as $flag) { $flag = strtoupper($flag); if (in_array($flag, $accepted_flags)) { $orFlags |= constant('FILTER_FLAG_' . $flag); } } return (filter_var($ip, FILTER_VALIDATE_IP, $orFlags) !== false); }
Posted: March 18, 2023
Return to the snippets listing