Транcлитерация в PHP

Для того, чтобы не париться с групповым переименовыванием файлов или созданием псевдонимов для страниц в транслите, можно использовать функцию транслитерации текста:

[code language='php'] <? function translittext($st) { // Сначала заменяем "односимвольные" фонемы. $st=strtr($st,"абвгдеёзийклмнопрстуфхъыэ_", "abvgdeeziyklmnoprstufh'iei"); $st=strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ_", "ABVGDEEZIYKLMNOPRSTUFH'IEI"); // Затем – "многосимвольные". $st=strtr($st, array( "ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh", "щ"=>"sch","ь"=>"", "ю"=>"yu", "я"=>"ya", "Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH", "Щ"=>"SHCH","Ь"=>"", "Ю"=>"YU", "Я"=>"YA", "ї"=>"i", "Ї"=>"Yi", "є"=>"ie", "Є"=>"Ye", " "=>"-", "," => "-", "'"=>"" ) ); // Возвращаем результат. return $st; } ?> [/code]

Комментировать ее вряд ли есть смысл - все достаточно очевидно. На вход поступает строка, на выходе - строка измененного по принципу транслитерации текста.

В массивах функции задается соответствие между русскими и английскими символами. В зависимости от поставленной задачи эти массивы могут быть дополнены или урезаны.

Например, для генерации псевдонима страницы можно добавить запись "."=>"", а для транслитерации имен файлов эта запись точно не нужна.