*/ private array $ignoredFragments = [ 'всего', 'итого', 'строка', 'январ', 'феврал', 'март', 'апрел', 'май', 'июн', 'июл', 'август', 'сентябр', 'октябр', 'ноябр', 'декабр', 'квартал', 'полугод', 'год', 'оплата', 'расход', 'выписано', 'койко', 'медикамент', 'перевяз', 'без бюджета', 'сумма', 'наименование', ]; public function slug(?string $departmentName): ?string { $departmentName = trim((string) $departmentName); if ($departmentName === '' || preg_match('/^\d+\.?$/', $departmentName) === 1) { return null; } $normalized = mb_strtolower($departmentName); foreach ($this->ignoredFragments as $fragment) { if (str_contains($normalized, $fragment)) { return null; } } $slug = Str::slug(Str::ascii($departmentName)); return $slug !== '' ? $slug : null; } }