Проблема с strtr()
Здравствуйте!
Возникла проблема: в части кода, который ниже в переменной $title должны русские буквы заменяться на латинские, однако это не происходит.
PHP код:
$tr = array(
"А"=>"A","Б"=>"B","В"=>"V","Г"=>"G",
"Д"=>"D","Е"=>"E","Ж"=>"J","З"=>"Z","И"=>"I",
"Й"=>"Y","К"=>"K","Л"=>"L","М"=>"M","Н"=>"N",
"О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T",
"У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"TS","Ч"=>"CH",
"Ш"=>"SH","Щ"=>"SCH","Ъ"=>"","Ы"=>"YI","Ь"=>"",
"Э"=>"E","Ю"=>"YU","Я"=>"YA","а"=>"a","б"=>"b",
"в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j",
"з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
"м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
"с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",
"ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y",
"ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya"
);
strtr($title,$tr);
if(isset($_POST['xfield'][$name_field]) and !empty($_POST['xfield'][$name_field]) and strpos($_POST['xfield'][$name_field], 'http://') !== false) {
$ext = strtolower(end(explode('.', str_replace(array('?', '#'), '', basename($_POST['xfield'][$name_field])))));;
if(in_array($ext, $allowed_ext)) {
$file_name = "site.ru-".$title.'.'.$ext;
$ok = copy($_POST['xfield'][$name_field], ROOT_DIR.$dir.$file_name);
if($ok) {
$_POST['xfield'][$name_field] = $dir.$file_name;
}
}
}
|