libphonenumber\ShortNumberInfo::matchesEmergencyNumberHelper PHP Méthode

matchesEmergencyNumberHelper() protected méthode

protected matchesEmergencyNumberHelper ( string $number, string $regionCode, boolean $allowPrefixMatch ) : boolean
$number string
$regionCode string
$allowPrefixMatch boolean
Résultat boolean
    protected function matchesEmergencyNumberHelper($number, $regionCode, $allowPrefixMatch)
    {
        $number = PhoneNumberUtil::extractPossibleNumber($number);
        $matcher = new Matcher(PhoneNumberUtil::$PLUS_CHARS_PATTERN, $number);
        if ($matcher->lookingAt()) {
            // Returns false if the number starts with a plus sign. We don't believe dialing the country
            // code before emergency numbers (e.g. +1911) works, but later, if that proves to work, we can
            // add additional logic here to handle it.
            return false;
        }
        $metadata = $this->getMetadataForRegion($regionCode);
        if ($metadata === null || !$metadata->hasEmergency()) {
            return false;
        }
        $normalizedNumber = PhoneNumberUtil::normalizeDigitsOnly($number);
        $emergencyDesc = $metadata->getEmergency();
        $allowPrefixMatchForRegion = $allowPrefixMatch && !in_array($regionCode, static::$regionsWhereEmergencyNumbersMustBeExact);
        return $this->matcherAPI->matchesNationalNumber($normalizedNumber, $emergencyDesc, $allowPrefixMatchForRegion);
    }