• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/baseobject.php
  • Класс: BitrixDiskBaseObject
  • Вызов: BaseObject::extractSuffixAndMainPart
static function extractSuffixAndMainPart(string $name): array
{
	$mainParts = explode('.', $name);
	$partsCount = count($mainParts);
	//name without extension
	if ($partsCount <= 1)
	{
		return [$name, null];
	}

	$suffix = array_pop($mainParts);

	//name with a few dots like "example.tar.gz"
	if ($partsCount > 2 && preg_match('/^[a-zA-Z][a-zA-Z0-9]{1,2}$/', $mainParts[$partsCount - 2]))
	{
		$suffix = array_pop($mainParts)  . '.' . $suffix;
	}

	$mainPart = implode('.', $mainParts);

	return [$mainPart, $suffix];
}