Задать вопрос
@I_I

Как поставить фигурные скобки в translate?

Есть такой потрясающий код
<?php 
               
   function transLate($string) 
   { 
        
        $arr = array( 
                       'А' => 'A' , 'Б' => 'B' , 'В' => 'V'  , 'Г' => 'G', 
                       'Д' => 'D' , 'Е' => 'E' , 'Ё' => 'JO' , 'Ж' => 'ZH', 
                       'З' => 'Z' , 'И' => 'I' , 'Й' => 'JJ' , 'К' => 'K', 
                       'Л' => 'L' , 'М' => 'M' , 'Н' => 'N'  , 'О' => 'O', 
                       'П' => 'P' , 'Р' => 'R' , 'С' => 'S'  , 'Т' => 'T', 
                       'У' => 'U' , 'Ф' => 'F' , 'Х' => 'KH' , 'Ц' => 'C', 
                       'Ч' => 'CH', 'Ш' => 'SH', 'Щ' => 'SHH', 'Ъ' => '"', 
                       'Ы' => 'Y' , 'Ь' => '\'', 'Э' => 'EH' , 'Ю' => 'JU', 
                       'Я' => 'JA', 
                       'а' => 'a','б' => 'b','в' => 'v','г' => 'g','д' => 'd', 
                       'е' => 'e','ё' => 'jo','ж' => 'zh','з' => 'z','и' => 'i', 
                       'й' => 'jj','к' => 'k','л' => 'l','м' => 'm','н' => 'n', 
                       'о' => 'o','п' => 'p','р' => 'r','с' => 's','т' => 't', 
                       'у' => 'u','ф' => 'f','х' => 'kh','ц' => 'c','ч' => 'ch', 
                       'ш' => 'sh','щ' => 'shh','ъ' => '"' ,'ы' => 'y',
                       'ь' => '\'','э' => 'eh','ю' => 'ju','я' => 'ja'
                     ); 
		
        $key = array_keys($arr);
        $val = array_values($arr);
        $translate = str_replace($key, $val, $string); 
        
        return $translate; 
   } 
        echo (isset($_POST['ok']) && isset($_POST['text']))?nl2br(htmlspecialchars(transLate($_POST['text']))):"Транслитерация";
        
?>
<form action="?" method="post"> 
<textarea name="text" cols="40" rows="10"  />Транслитерация</textarea>
<input name="ok" type="submit" />
</form>

Он меняет русский текст на латинский,
так вот мне нужно поставить фигурные скобки, для каждой буквы
можно сделать так
'А' => '{A}' , 'Б' => '{B}' , 'В' => '{V}'  , 'Г' => '{G}',

Но хочется сделать другой способ, который автоматически будет вставлять фигурную скобку, для каждого символа.
Так же готов увидеть более минимизированный вариант этого кода, чем меньше тем лучше.

Eще была такая идея, сделать автоматический transLate например если пользователь водит любой символ, сервер автоматически шифруется в латиницу и сохраняется в файлик. После чего сервер должен помнить какой символ зашифровал, чтоб не повторятся и не шифровать повторно один и тот же символ.
  • Вопрос задан
  • 2698 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
smoked
@smoked
Можно сделать так
$val = array_map(function($a){ return "{".$a."}"; }, array_values($arr));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽