Обновлен устаревший метод Подготовка имени файла или директории

This commit is contained in:
2026-01-04 21:03:56 +05:00
parent 044259e0e0
commit 6d1d99c23f

View File

@@ -739,19 +739,30 @@
* @param string $st
* @return string
*/
function prepare_fname($st)
{
$st = strip_tags($st);
function prepare_fname($st)
{
$st = strip_tags($st);
$st = strtr($st,'ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЫЭЮЯ',
'abcdefghijklmnopqrstuvwxyzабвгдеёжзийклмнопрстуфхцчшщьъыэюя');
// 1. Сначала пробуем использовать новый метод
if (function_exists('mb_strtolower')) {
$st = mb_strtolower(trim($st), 'UTF-8');
} else {
// Запасной вариант (старый), если mbstring не установлен
$st = strtr($st,'ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЫЭЮЯ',
'abcdefghijklmnopqrstuvwxyzабвгдеёжзийклмнопрстуфхцчшщьъыэюя');
}
$st = translit_string(trim($st));
// 2. Транслитерация
if (function_exists('translit_string')) {
$st = translit_string($st);
}
$st = preg_replace(array('/[^a-z0-9_-]/', '/--+/'), '-', $st);
// 3. Финальная чистка
// Заменяем всё, что не буквы и не цифры, на дефис
$st = preg_replace(array('/[^a-z0-9_-]/', '/--+/'), '-', $st);
return trim($st, '-');
}
return trim($st, '-');
}
/**