<?php
#
# Translit PHP class by Avram, hide@address.com
# Dedicated to my early died brother Filip
# Credit is due
#
class Translit {
var $html_aware = false;
var $case_sensitive = false;
var $cirilica = array("Ñ", "Ñ", "е", "Ñ", "Ñ", "з", "Ñ", "и", "о", "п", "Ñ", "Ñ", "ж", "а", "Ñ", "д", "Ñ", "г", "Ñ
", "Ñ", "к", "л", "Ñ", "Ñ", "Ñ", "Ñ", "в", "б", "н", "м", "Ð", "Ð", "Ð", "Ð ", "Т", "Ð", "У", "Ð", "Ð", "Ð", "Ш", "Ð", "Ð", "Ð", "С", "Ð", "Ф", "Ð", "Ð¥", "Ð", "Ð", "Ð", "Ч", "Ð", "Ð", "Ц", "Ð", "Ð", "Ð", "Ð");
var $latinica = array("lj", "nj", "e", "r", "t", "z", "u", "i", "o", "p", "Å¡", "Ä", "ž", "a", "s", "d", "f", "g", "h", "j", "k", "l", "Ä", "Ä", "dž", "c", "v", "b", "n", "m", "Lj", "Nj", "E", "R", "T", "Z", "U", "I", "O", "P", "Å ", "Ä", "Ž", "A", "S", "D", "F", "G", "H", "J", "K", "L", "Ä", "Ä", "DŽ", "C", "V", "B", "N", "M");
function tagsafe_replace($search, $replace, $subject, $casesensitive = false) {
$subject = '>' . $subject . '<';
$search = preg_quote($search);
$cs = !$casesensitive ? 'i' : '';
preg_match_all('/>[^<]*(' . $search . ')[^<]*</i', $subject, $matches, PREG_PATTERN_ORDER);
foreach($matches[0] as $match)
{
$tmp = preg_replace("/($search)/", $replace, $match);
$subject = str_replace($match, $tmp, $subject);
}
return substr($subject, 1, -1);
}
function Transliterate($cyrilic) {
if ($this->html_aware) {
for ($i=0;$i<count($this->cirilica);$i++) {
$cyrilic = $this->tagsafe_replace($this->cirilica[$i],$this->latinica[$i],$cyrilic,$this->case_sensitive);
}
return $cyrilic;
} else {
return str_replace($this->cirilica, $this->latinica, $cyrilic);
}
}
}
?>