Транслитерация – это зачастую необратимый процесс переведения символов одного языка в другой. При переведении символов кириллицы в латиницы некоторые символы (ж, ю и др.) заменяются схожими по звучанию комбинациями символов (zh, yu и тп.).
В PHP транслитерацию можно произвести с помощью функции str_tr и ассоциативного массива альтернатив.
function transliterate($input){ $gost = array( "Є"=>"YE","І"=>"I","Ѓ"=>"G","і"=>"i","№"=>"-","є"=>"ye","ѓ"=>"g", "А"=>"A","Б"=>"B","В"=>"V","Г"=>"G","Д"=>"D", "Е"=>"E","Ё"=>"YO","Ж"=>"ZH", "З"=>"Z","И"=>"I","Й"=>"J","К"=>"K","Л"=>"L", "М"=>"M","Н"=>"N","О"=>"O","П"=>"P","Р"=>"R", "С"=>"S","Т"=>"T","У"=>"U","Ф"=>"F","Х"=>"X", "Ц"=>"C","Ч"=>"CH","Ш"=>"SH","Щ"=>"SHH","Ъ"=>"'", "Ы"=>"Y","Ь"=>"","Э"=>"E","Ю"=>"YU","Я"=>"YA", "а"=>"a","б"=>"b","в"=>"v","г"=>"g","д"=>"d", "е"=>"e","ё"=>"yo","ж"=>"zh", "з"=>"z","и"=>"i","й"=>"j","к"=>"k","л"=>"l", "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r", "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"x", "ц"=>"c","ч"=>"ch","ш"=>"sh","щ"=>"shh","ъ"=>"", "ы"=>"y","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya", " "=>"_","—"=>"_",","=>"_","!"=>"_","@"=>"_", "#"=>"-","$"=>"","%"=>"","^"=>"","&"=>"","*"=>"", "("=>"",")"=>"","+"=>"","="=>"",";"=>"",":"=>"", "'"=>"","""=>"","~"=>"","`"=>"","?"=>"","/"=>"", "\"=>"","["=>"","]"=>"","{"=>"","}"=>"","|"=>"" ); return strtr($input, $gost); }
Для того, чтобы произвести транслитерацию с помощью этой функции нужно вызвать функцию:
$cyr='Мама мыла раму'; $lat=transliterate($cyr); echo $lat;
Выводом этого кусочка кода будет:
Mama myla ramu