Функция translit

82
16 января 2022, 06:00

У меня есть код:

function translitlot_kir($value){
    $converter = array(
'o‘' => 'ў',
'O‘' => 'Ў',
' E' => ' Э',
'E' => ' Э',
'Ya' => 'Я',
'Yu' => 'Ю',
'Yo' => 'Ё',
'yo' => 'ё',
'G‘' => 'Ғ',
'Ch' => 'Ч',
'Sh' => 'Ш',
'ʼ' => 'ъ',
' e' => ' э',
'ya' => 'я',
'yu' => 'ю',
'ye' => 'е',
'’' => 'ъ',
'g‘' => 'ғ',
'ch' => 'ч',
'sh' => 'ш',
'A' => 'А',
'B' => 'Б',
'C' => 'С',
'D' => 'Д',
'F' => 'Ф',
'G' => 'Г',
'H' => 'Ҳ',
'I' => 'И',
'J' => 'Ж',
'K' => 'К',
'L' => 'Л',
'M' => 'М',
'N' => 'Н',
'O' => 'О',
'P' => 'П',
'Q' => 'Қ',
'R' => 'Р',
'S' => 'С',
'T' => 'Т',
'U' => 'У',
'V' => 'В',
'W' => 'В',
'X' => 'Х',
'Y' => 'Й',
'Z' => 'З',
'a' => 'а',
'b' => 'б',
'c' => 'с',
'd' => 'д',
'e' => 'е',
'f' => 'ф',
'g' => 'г',
'h' => 'ҳ',
'i' => 'и',
'j' => 'ж',
'k' => 'к',
'l' => 'л',
'm' => 'м',
'n' => 'н',
'o' => 'о',
'p' => 'п',
'q' => 'қ',
'r' => 'р',
's' => 'с',
't' => 'т',
'u' => 'у',
'v' => 'в',
'w' => 'в',
'x' => 'х',
'y' => 'й',
'z' => 'з',
'<p>' => '<p>','</p>' => '</p>',
'<i>' => '<i>','</i>' => '</i>',
'<u>' => '<u>','</u>' => '</u>',
'<em>' => '<em>','</em>' => '</em>',
'<strong>' => '<strong>','</strong>' => '</strong>',
    );
    $value = strtr($value, $converter);
    return $value;
}
echo translitlot_kir("Yo‘q");

Результат этот код: Ё‘қ

А мне нужно будет такого: Йўқ

Answer 1

Используйте другую функцию str_replace

<?php
 function translitlot_kir($value){
    $converter = array(
'o‘' => 'ў',
'O‘' => 'Ў',
' E' => ' Э',
'E' => ' Э',
'Ya' => 'Я',
'Yu' => 'Ю',
'Yo' => 'Ё',
'yo' => 'ё',
'G‘' => 'Ғ',
'Ch' => 'Ч',
'Sh' => 'Ш',
'ʼ' => 'ъ',
' e' => ' э',
'ya' => 'я',
'yu' => 'ю',
'ye' => 'е',
'’' => 'ъ',
'g‘' => 'ғ',
'ch' => 'ч',
'sh' => 'ш',
'A' => 'А',
'B' => 'Б',
'C' => 'С',
'D' => 'Д',
'F' => 'Ф',
'G' => 'Г',
'H' => 'Ҳ',
'I' => 'И',
'J' => 'Ж',
'K' => 'К',
'L' => 'Л',
'M' => 'М',
'N' => 'Н',
'O' => 'О',
'P' => 'П',
'Q' => 'Қ',
'R' => 'Р',
'S' => 'С',
'T' => 'Т',
'U' => 'У',
'V' => 'В',
'W' => 'В',
'X' => 'Х',
'Y' => 'Й',
'Z' => 'З',
'a' => 'а',
'b' => 'б',
'c' => 'с',
'd' => 'д',
'e' => 'е',
'f' => 'ф',
'g' => 'г',
'h' => 'ҳ',
'i' => 'и',
'j' => 'ж',
'k' => 'к',
'l' => 'л',
'm' => 'м',
'n' => 'н',
'o' => 'о',
'p' => 'п',
'q' => 'қ',
'r' => 'р',
's' => 'с',
't' => 'т',
'u' => 'у',
'v' => 'в',
'w' => 'в',
'x' => 'х',
'y' => 'й',
'z' => 'з',
'<p>' => '<p>','</p>' => '</p>',
'<i>' => '<i>','</i>' => '</i>',
'<u>' => '<u>','</u>' => '</u>',
'<em>' => '<em>','</em>' => '</em>',
'<strong>' => '<strong>','</strong>' => '</strong>',
    );
    $value = str_replace(array_keys($converter),array_values($converter),$value);
    return $value;
}
echo translitlot_kir("Yo‘q");
READ ALSO
Вопрос по экспорту JSON объекта в mysql

Вопрос по экспорту JSON объекта в mysql

Всем доброго дняВопрос про php mysql

93
Как ускорить конвертацию svg в png через Inkscape

Как ускорить конвертацию svg в png через Inkscape

Сейчас конвертирую так: inkscape -z -e testpng -w 100 -h 100 test

147