/**
* Cyrillic to Latin chars conversion
*/
function utf_cyr_to_latin($string, $reverse = false)
{
$cyr = array(
'а', 'б', 'в', 'г', 'д',
'e', 'ж', 'з', 'и', 'й',
'к', 'л', 'м', 'н', 'о',
'п', 'р', 'с', 'т', 'у',
'ф', 'х', 'ц', 'ч', 'ш',
'щ', 'ъ', 'ь', 'ю', 'я',
'А', 'Б', 'В', 'Г', 'Д',
'Е', 'Ж', 'З', 'И', 'Й',
'К', 'Л', 'М', 'Н', 'О',
'П', 'Р', 'С', 'Т', 'У',
'Ф', 'Х', 'Ц', 'Ч', 'Ш',
'Щ', 'Ъ', 'Ь', 'Ю', 'Я'
);
$lat = array(
'a', 'b', 'v', 'g', 'd',
'e', 'zh', 'z', 'i', 'y',
'k', 'l', 'm', 'n', 'o',
'p', 'r', 's', 't', 'u',
'f', 'h', 'ts', 'ch', 'sh',
'sht', 'a', 'y', 'yu', 'ya',
'A', 'B', 'V', 'G', 'D',
'E', 'Zh', 'Z', 'I', 'Y',
'K', 'L', 'M', 'N', 'O',
'P', 'R', 'S', 'T', 'U',
'F', 'H', 'Ts', 'Ch', 'Sh',
'Sht', 'A', 'Y', 'Yu', 'Ya'
);
$string = !empty($reverse) ? str_replace($lat, $cyr, $string) : str_replace($cyr, $lat, $string);
$tur = array('Ş', 'ş', 'İ', 'ı', 'Ö', 'ö', 'Ç' , 'ç', 'Ğ', 'ğ');
$lat = array('S', 's', 'I', 'i', 'O', 'o', 'C', 'c', 'G', 'g');
$string = !empty($reverse) ? str_replace($lat, $tur, $string) : str_replace($tur, $lat, $string);
return $string;
}
Let me know if it works.