- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/phonenumber/formatter.php
- Класс: BitrixMainPhoneNumberFormatter
- Вызов: Formatter::formatNationalNumber
static function formatNationalNumber($nationalNumber, $formatType, $countryMetadata, $format, $forceNationalPrefix)
{
$isInternational = ($formatType === Format::INTERNATIONAL);
$replaceFormat = (isset($format['intlFormat']) && $isInternational) ? $format['intlFormat'] : $format['format'];
$patternRegex = '/' . $format['pattern'] . '/';
if(!$isInternational)
{
$nationalPrefixFormattingRule = static::getNationalPrefixFormattingRule($format, $countryMetadata);
if($nationalPrefixFormattingRule != '')
{
$nationalPrefixFormattingRule = str_replace(array('$NP', '$FG'), array($countryMetadata['nationalPrefix'], '$1'), $nationalPrefixFormattingRule);
$replaceFormat = preg_replace('/(\$\d)/', $nationalPrefixFormattingRule, $replaceFormat, 1);
}
else
{
$replaceFormat = $countryMetadata['nationalPrefix'] . ' ' . $replaceFormat;
}
}
return preg_replace($patternRegex, $replaceFormat, $nationalNumber);
}