- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/phonenumber/shortnumberformatter.php
- Класс: BitrixMainPhoneNumberShortNumberFormatter
- Вызов: ShortNumberFormatter::format
static function format(PhoneNumber $phoneNumber)
{
$rawNumber = $phoneNumber->getNationalNumber();
$template = static::$templates[mb_strlen($rawNumber)];
if(!$template)
{
return $rawNumber;
}
$pattern = preg_replace("/[^x]/", "", $template);
$pattern = str_replace("x", "(\d)", $pattern);
$pattern = "/" . $pattern . "/";
$i = 0;
$format = preg_replace_callback(
"/x/",
function () use (&$i)
{
return "$" . ++$i;
},
$template
);
$result = preg_replace($pattern, $format, $rawNumber);
if($phoneNumber->getExtensionSeparator())
{
$result .= $phoneNumber->getExtensionSeparator() . " " . $phoneNumber->getExtension();
}
return $result;
}