• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/phonenumber/formatter.php
  • Класс: BitrixMainPhoneNumberFormatter
  • Вызов: Formatter::selectFormatForNumber
static function selectFormatForNumber(PhoneNumber $number, $formatType, $countryMetadata)
{
	$nationalNumber = $number->getNationalNumber();
	$isInternational = ($formatType === Format::INTERNATIONAL);
	$availableFormats = static::getAvailableFormats($countryMetadata);

	foreach ($availableFormats as $format)
	{
		if($isInternational && isset($format['intlFormat']) && $format['intlFormat'] === 'NA')
			continue;

		if(isset($format['leadingDigits']) && !static::matchLeadingDigits($nationalNumber, $format['leadingDigits']))
		{
			continue;
		}

		$formatPatternRegex = '/^' . $format['pattern'] . '$/';
		if(preg_match($formatPatternRegex, $nationalNumber))
		{
			return $format;
		}
	}
	return false;
}