function translit ($string, $as_text = false) {
//замена знаков
$string = str_replace (array('Ь', 'ь', 'Ъ', 'ъ'), '', $string);
$string_from_array = array ('ё', 'ж', 'ц', 'ч', 'ш', 'щ', 'ю', 'я', 'Ё', 'Ж', 'Ц', 'Ч', 'Ш', 'Щ', 'Ю', 'Я');
$string_to_array = array ('yo', 'zh', 'ts', 'ch', 'sh', 'sch', 'yu', 'ya', 'Yo', 'Zh', 'Ts', 'Ch', 'Sh', 'Sch', 'Yu', 'Ya');
$string_from = 'йцукенгзхфывапролдэсмитбЙЦУКЕНГЗХФЫВАПРОЛДЭСМИТБ-';
$string_to = 'jcukengzhfyvaproldesmitbJCUKENGZHFYVAPROLDESMITB_';
$string = str_replace ($string_from_array, $string_to_array, $string);
$string = strtr ($string, $string_from, $string_to);
//корректное имя файла
if ($as_text == false) {
$string = strtolower(preg_replace ('/\s+/', '_', $string));
$string = preg_replace ('/[^a-z.0-9_\-]/', '', $string);
}
return $string;
}
аплоад файлов с русскими именами!
Есть проблема- при апллоуда файла с русскими именами файл не может быть сохранён!! как можно проверить имя файла на русском и изменить её как в depositfiles.com ??
спасибо заранее!
делаем массив "русская буква" - "её транслитация" и меням из str_replace
strtr вообще-то
а как можно сменить все буквы кроме- английских букв,цифр, точка, запятая, в "_" этот символ ??(не изучать же все языки а..)
честно слитая ф-ция, которой успешно пользуюсь. Думаю никто больше готового решения не предложит :)
А почему бы три этих реплейса не объединить в один?