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