@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 например если пользователь водит любой символ, сервер автоматически шифруется в латиницу и сохраняется в файлик. После чего сервер должен помнить какой символ зашифровал, чтоб не повторятся и не шифровать повторно один и тот же символ.
  • Вопрос задан
  • 2694 просмотра
Решения вопроса 1
smoked
@smoked
Можно сделать так
$val = array_map(function($a){ return "{".$a."}"; }, array_values($arr));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы