- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/phonenumber/formatter.php
- Класс: BitrixMainPhoneNumberFormatter
- Вызов: Formatter::format
static function format(PhoneNumber $number, $formatType, $forceNationalPrefix = false)
{
if(!$number->isValid())
{
return $number->getRawNumber();
}
if($formatType === Format::E164)
{
return '+' . $number->getCountryCode() . $number->getNationalNumber();
}
$countryMetadata = MetadataProvider::getInstance()->getCountryMetadata($number->getCountry());
$format = static::selectFormatForNumber($number, $formatType, $countryMetadata);
if($format)
{
$formattedNationalNumber = static::formatNationalNumber(
$number->getNationalNumber(),
$formatType,
$countryMetadata,
$format,
$forceNationalPrefix
);
}
else
{
$formattedNationalNumber = $number->getNationalNumber();
}
if($number->hasExtension())
{
$formattedNationalNumber .= $number->getExtensionSeparator() ." ". $number->getExtension();
}
if($formatType == Format::INTERNATIONAL)
{
return '+' . $number->getCountryCode() . ' ' . $formattedNationalNumber;
}
else if($formatType == Format::NATIONAL)
{
return $formattedNationalNumber;
}
return $number->getRawNumber();
}