- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
<?php
    function japanize($s) {
        $syl = array('н',
            'а','ка','са','та','на','ха','ма','я','ра','ва','га','дза','да','ба','па',
            'и','ки','си','ти','ни','хи','ми','и','ри',     'ги','дзи',     'би','пи',
            'у','ку','су','цу','ну','фу','му','ю','ру',     'гу','дзу',     'бу','пу',
            'э','кэ','сэ','тэ','нэ','хэ','мэ','е','рэ',     'гэ','дзэ','дэ','бэ','пэ',
            'о','ко','со','то','но','хо','мо','ё','ро','во','го','дзо','до','бо','по',
                'кя','ся','тя','ня','хя','мя',    'ря',     'гя','дзя',     'бя','пя',
                'кю','сю','тю','ню','хю','мю',    'рю',     'гю','дзю',     'бю','пю',
                'кё','сё','тё','нё','хё','мё',    'рё',     'гё','дзё',     'бё','пё'
        );
        $modulo = count($syl);
        $parts = str_split(substr(sha1($s), 0, 16), 2);
        array_walk($parts, function(&$value, $key) use($syl, $modulo) {$value = $syl[intval($value, 16) % $modulo];});
        return implode('', $parts);
    }
     
    echo japanize('bormand') . PHP_EOL;