PHP заменить каждую букву из слов - PullRequest
2 голосов
/ 01 января 2012

Мне нужна функция, чтобы заменить каждую букву в слове другими буквами. Например:

a = tu
b = mo
c = jo

Если я пишу "abc", я хочу получить "tumoji", если я пишу "bca", я хочу получить "mojotu" и т. Д.

Ответы [ 2 ]

4 голосов
/ 01 января 2012
$from = array('a',
              'b', 
              'c'
             );
$to = array('tu',
            'mo', 
            'jo'
           );
$original = 'cab';
$new = strtr($original,$from,$to);

или

$replacements = array('a' => 'tu',
                      'b' => 'mo', 
                      'c' => 'jo'
                     );
$original = 'cab';
$new = strtr($original,$replacements);

или

$replacements = array('a' => 'tu',
                      'b' => 'mo', 
                      'c' => 'jo'
                     );
$original = 'cab';
$new = '';
foreach(str_split($original) as $letter) {
    $new .= $replacements[$letter];
}
3 голосов
/ 01 января 2012

Использование strtr().

$str = strtr($str, array('a' => 'tu' /*, ... */));
...