За последние 24 часа нас посетили 8455 программистов и 509 роботов. Сейчас ищут 209 программистов ...

Провертеть эту код пожалуйста

Тема в разделе "Сделайте за меня", создана пользователем Zohid, 11 дек 2018.

Метки:
  1. Zohid

    Zohid Новичок

    С нами с:
    20 окт 2018
    Сообщения:
    4
    Симпатии:
    0
    PHP:
    1. function TranslitURL ($text, $translit = 'ru_en') {
    2.     $RU['ru'] = array(
    3. "Ё","Ю","Я","Қ","Ў","Ғ","Ш","Ч","Е","Р","Т","Й","У","И","О","П","А","С","Д","Ф","Г","Ҳ","Ж","К","Л","З","Х","В","Б","Н","М",
    4. "ё","ю","я","қ","ў","ғ","ш","ч","е","р","т","й","у","и","о","п","а","с","д","ф","г","ҳ","ж","к","л","з","х","в","б","н","м"
    5.         );
    6.  
    7.     $EN['en'] = array(
    8. "Yo","Yu","Ya","Q","O`","G`","Sh","Ch","E","R","T","Y","U","I","O","P","A","S","D","F","G","H","J","K","L","Z","X","V","B","N","M",
    9. "yo","yu","ya","q","o`","g`","sh","ch","e","r","t","y","u","i","o","p","a","s","d","f","g","h","j","k","l","z","x","v","b","n","m"
    10.         );
    11.     if($translit == 'en_ru') {
    12.         $t = str_replace($EN['en'], $RU['ru'], $text);
    13.         $t = preg_replace('/(?<=\s|^)е([а-я]+)(?=\s|$)/m', 'э$1', $t);
    14.         }
    15.     else {
    16.         $t = str_replace($RU['ru'], $EN['en'], $text);
    17.         $t = preg_replace('/(?<=\s|^)е([а-я]+)(?=\s|$)/m', 'э$1', $t);
    18.         }
    19.     return $t;
    20. }
    Этот код нужно изменить 1 буква на слово в тексте, короткие буква будет "е" изменит на "э"
     
    #1 Zohid, 11 дек 2018
    Последнее редактирование модератором: 13 дек 2018
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.057
    Симпатии:
    1.731
    Адрес:
    :сердА
    Сначала через str_replace меняете все буквы, а потом...уже через трехэтажную регуляку меняете всего одну букву. Зачем? мб проще сразу в str replace бахнуть нужное?