PHP Transliteration Lat<->Cyr
function abc2abv($string, $reverse = false){
$abc = array(
"dž", "lj", "nj", "a", "b", "v", "g", "d", "đ", "e", "ž", "z", "i", "j", "k", "l", "m", "n", "o", "p", "r", "s", "t", "ć", "u", "f", "h", "c", "č", "š",
"DŽ", "LJ", "NJ", "A", "B", "B", "G", "D", "Đ", "E", "Ž", "Z", "I", "J", "K", "L", "M", "N", "O", "P", "R", "S", "T", "Ć", "U", "F", "H", "C", "Č", "Š");
$abv = array(
"џ", "љ", "њ", "а", "б", "в", "г", "д", "ђ", "е", "ж", "з", "и", "ј", "к", "л", "м", "н", "о", "п", "р", "с", "т", "ћ", "у", "ф", "х", "ц", "ч", "ш",
"Џ", "Љ", "Њ", "А", "Б", "В", "Г", "Д", "Ђ", "Е", "Ж", "З", "И", "Ј", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "Ћ", "У", "Ф", "Х", "Ц", "Ч", "Ш");
if($reverse == false){
$string = str_replace($abc, $abv, $string);
}else{
$string = str_replace($abv, $abc, $string);
}
return $string;
}