• Модуль: 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);
}