return new ValidEmail();
} /**
* @param string $addressLiteral
* @param int $maxGroups
*/
public function checkIPV6Tag($addressLiteral,
$maxGroups = 8
): void
{ $prev =
$this->lexer->
getPrevious();
if ($prev->
isA(EmailLexer::S_COLON
)) { $this->warnings
[IPV6ColonEnd::CODE
] =
new IPV6ColonEnd();
} $IPv6 =
substr($addressLiteral, 5
);
//Daniel Marschall's new IPv6 testing strategy
$matchesIP =
explode(':',
$IPv6);
$groupCount =
count($matchesIP);
$colons =
strpos($IPv6, '::'
);
if (count(preg_grep('/^[0-9A-Fa-f]{0,4}$/',
$matchesIP, PREG_GREP_INVERT
)) !== 0
) { $this->warnings
[IPV6BadChar::CODE
] =
new IPV6BadChar();
}