Чтобы не забыть, и не шариться в гугле:
function cyr2lat ($text) {
$cyr2lat_replacements = array ( "А" => "a","Б" => "b","В" => "v","Г" => "g","Д" => "d", "Е" => "e","Ё" => "yo","Ж" => "dg","З" => "z","И" => "i", "Й" => "y","К" => "k","Л" => "l","М" => "m","Н" => "n", "О" => "o","П" => "p","Р" => "r","С" => "s","Т" => "t", "У" => "u","Ф" => "f","Х" => "h","Ц" => "ts","Ч" => "ch", "Ш" => "sh","Щ" => "csh","Ъ" => "","Ы" => "i","Ь" => "", "Э" => "e","Ю" => "yu","Я" => "ya", "а" => "a","б" => "b","в" => "v","г" => "g","д" => "d", "е" => "e","ё" => "yo","ж" => "dg","з" => "z","и" => "i", "й" => "y","к" => "k","л" => "l","м" => "m","н" => "n", "о" => "o","п" => "p","р" => "r","с" => "s","т" => "t", "у" => "u","ф" => "f","х" => "h","ц" => "ts","ч" => "ch", "ш" => "sh","щ" => "sch","ъ" => "","ы" => "i","ь" => "", "э" => "e","ю" => "yu","я" => "ya", "-" => "_"," " => "_" );
return strtr ($text,$cyr2lat_replacements);
}