Почему могут не переводиться слова? PHP
Выводится: Башенный-кран-QTZ-125. Нужно: bashennyiy-kran-QTZ-125. Если создавать переменную с текстом, то все работает, а вот при получении данных нет.
$product = $dbh->query("SELECT product_id FROM one")->fetchAll(2);
$names = $dbh->query("SELECT product_id, name FROM two")->fetchAll(2);
foreach($product as $item){
$id = $item['product_id'];
foreach($names as $nam) {
if ($nam['product_id'] == $id) {
$semantik = get_semantic_url($nam['name']);
echo $semantik . "<br>";
}
}
}
function get_semantic_url($str1) {
$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"," - "=>"-"," – "=>"-","--"=>"-","---"=>"-","----"=>"-",
"."=>""," "=>"-","?"=>"","/"=>"-","\\"=>"-","!"=>"",
"*"=>"-",":"=>"-","*"=>"-","\""=>"-","<"=>"-",
">"=>"-","|"=>"-","»"=>"-","«"=>"-","#"=>"","$"=>"","("=>"",")"=>""
);
return strtr($str1 , $tr);
}
Источник: Stack Overflow на русском