AutorÃa | Ultima modificación | Ver Log |
<?phpdeclare(strict_types=1);namespace libphonenumber;/*** Class RegexBasedMatcher* @package libphonenumber* @internal*/class RegexBasedMatcher implements MatcherAPIInterface{public static function create(): static{return new static();}// Keep PHPStan happy (Unsafe usage of new static())final public function __construct() {}/*** Returns whether the given national number (a string containing only decimal digits) matches* the national number pattern defined in the given {@code PhoneNumberDesc} message.*/public function matchNationalNumber(string $number, PhoneNumberDesc $numberDesc, bool $allowPrefixMatch): bool{$nationalNumberPattern = $numberDesc->getNationalNumberPattern();// We don't want to consider it a prefix match when matching non-empty input against an empty// patternif ($nationalNumberPattern === '') {return false;}return $this->match($number, $nationalNumberPattern, $allowPrefixMatch);}private function match(string $number, string $pattern, bool $allowPrefixMatch): bool{$matcher = new Matcher($pattern, $number);if (!$matcher->lookingAt()) {return false;}return $matcher->matches() ? true : $allowPrefixMatch;}}