src/Domain/Value/Identifier/Uri.php
protected static function isValidIpLiteral(string $ip): bool
    {
        // outer brackets
        $length = strlen($ip);
        if ($ip[0] !== '[' || $ip[$length - 1] !== ']') {
            return false;
        }

        // remove brackets
        $ip = substr($ip, 1, $length - 2);

        // starts with "v" (case-insensitive)
        // IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" )
        $pattern = sprintf(
            '/\A[v](?:[a-f0-9]+)\.[%s%s:]+\z/i',
            static::UNRESERVED_SET,
            static::SUB_DELIMS_SET
        );
        if (preg_match($pattern, $ip)) {
            return true;
        }

        return filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) !== false;
    }
protected static function isValidIpLiteral(string $ip): bool
    {
        // outer brackets
        $length = strlen($ip);
        if ($ip[0] !== '[' || $ip[$length - 1] !== ']') {
            return false;
        }

        // remove brackets
        $ip = substr($ip, 1, $length - 2);

        // starts with "v" (case-insensitive)
        // IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" )
        $pattern = sprintf(
            '/\A[v](?:[a-f0-9]+)\.[%s%s:]+\z/i',
            static::UNRESERVED_SET,
            static::SUB_DELIMS_SET
        );
        if (preg_match($pattern, $ip)) {
            return true;
        }

        return filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) !== false;
    }
protected static function isValidIpLiteral ( string $ ip ) : bool { // outer brackets $ length = strlen ( $ ip ) ; if ( $ ip [ 0 ] !== '[' || $ ip [ $ length - 1 ] !== ']' ) { return false ; } // remove brackets $ ip = substr ( $ ip , 1 , $ length - 2 ) ; // starts with "v" (case-insensitive) // IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" ) $ pattern = sprintf ( '/\A[v](?:[a-f0-9]+)\.[%s%s:]+\z/i' , static :: UNRESERVED_SET , static :: SUB_DELIMS_SET ) ; if ( preg_match ( $ pattern , $ ip ) ) { return true ; } return filter_var ( $ ip , FILTER_VALIDATE_IP , FILTER_FLAG_IPV6 ) !== false ; }
Checks if a IP literal is valid

@param string $ip The IP literal

@return bool
Checks if a IP literal is valid