Sidebar

Как твое имя звучит по японски?

TwisteR

Техническая поддержка
Jul 24, 2006
4,043
Давай =)
Code:
<?
   $yapon = array("A" => "ka",
                "B" => "zu",
                "C" => "mi",
                "D" => "te",
                "E" => "ku",
                "F" => "lu",
                "G" => "ji",
                "H" => "ri",
                "I" => "ki",
                "J" => "zu",
                "K" => "me",
                "L" => "ta",
                "M" => "rin",
                "N" => "to",
                "O" => "mo",
                "P" => "no",
                "Q" => "ke",
                "R" => "shi",
                "S" => "ari",
                "T" => "chi",
                "U" => "do",
                "V" => "ru",
                "W" => "mei",
                "X" => "na",
                "Y" => "fu",
                "Z" => "z",
                "`" => "`");
  // в $str будет входное слово, в $trans - результат
  (trim($_POST['slovo']) != '') ? trim($str = $_POST['slovo']) : $str = "";
  $trans = "";
  for ($i = 0; $i < strlen($str); $i++)
    $trans .= $yapon[strtoupper($str[$i])];
?>
 

1m.dm

<geek/>
Jun 25, 2004
3,028
38
2
0
Kiev
А вообще тут даже смотреть нечего :)
Вот хороший вариант реализации:

Code:
<?php
$charmap = array(
    'a' => 'ka',  'b' => 'zu',  'c' => 'mi', 'd' => 'te', 'e' => 'ku',  'f' => 'lu',
    'g' => 'ji',  'h' => 'ri',  'i' => 'ki', 'j' => 'zu', 'k' => 'me',  'l' => 'ta',
    'm' => 'rin', 'n' => 'to',  'o' => 'mo', 'p' => 'no', 'q' => 'ke',  'r' => 'shi',
    's' => 'ari', 't' => 'chi', 'u' => 'do', 'v' => 'ru', 'w' => 'mei', 'x' => 'na',
    'y' => 'fu',  'z' => 'z'
);

if (isset($_GET['text'])) {
    // Тут было бы уместно добавить еще и транслитерацию.
    echo en2jp($_GET['text']);
}

function en2jp($text) {
    global $charmap;
    $text = strtolower($_GET['text']); // mb_strtolower
    $text = str_replace(array_keys($charmap), array_values($charmap), $text);
    return $text;
}

P.S. Не тестил работоспособность.
 
kashikishikimekirinkumekimirikirinmoshikitomedochikurinmoaririkimekichimorinkutemoshikitomedorinkumekashikitomedorinkumekamekaaririkimekiaririkimekirinkumekishikitomedorinkumekimekaaririkimekiaririkimekirinkumekishikitomedorinkumekiaririkimekichimorinkutemoshikitomedorinkumekikashikishikimekirinkumekimirikirinmoshikitomedochikurinmoaririkimekichimorinkutemoshikitomedorinkumekikashikishikimekirinkumekimirikirinmoshikitomedorinkumekimekaaririkimekiaririkimekirinkumekishikitomedorinkumekiaririkimekichimorinkutemoshikitomedorinkumekikashikishikimekirinkumekimirikirinmoshikitomedochikurinmoaririkimekichimorinkutemoshikitomedorinkumekamekaaririkimekiaririkimekirinkumekishikitomedorinkumekirinkishikimekishikitorinmoaririkimekichimorinkutemomirikimedoshikitorinmokashikishikimekirinkumekimirikirinmoshikitomedochikurinmoaririkimekichimorinkutemoshikitomedorinkumekashikitomekiaririkimekirinkumekishikitomedorinkumekarinkishikimekirinkutemoaririkimekichimoshikitorinmoshikitomekiaririkimekirinkumekishikitomedochikurinmokashikishikimekirinkumekimirikirinmoaririkimekichimoshikitorinmomekaaririkimekiaririkimekirinkumekishikitomedorinkumekirinkishikimekishikitorinmoaririkimekichimorinkutemomirikimedoshikitorinmoshikitomekiaririkimekirinkumekishikitomedochikurinmokashikishikimekirinkumekimirikirinmoaririkimekichimoshikitorinmoaririkimekichimorinkutemoshikitomedorinkumekarinkumekakashikishikimekirinkumekikashikishikimekirinkumekishikitomedorinkumekiaririkimekichimorinkutemoshikitomedorinkumekirinkumekakashikishikimekirinkumekikashikishikimekirinkumekishikitomedorinkumekiaririkimekichimorinkutemoshikitomedorinkumekikashikishikimekirinkumekimirikirinmoshikitomedochikurinmoaririkimekichimorinkutemoshikitomedorinkumekiaririkimekichimorinkutemoshikitomedorinkumekarinkumekakashikishikimekirinkumekikashikishikimekirinkumekishikitomedorinkumekiaririkimekichimorinkutemoshikitomedorinkumekirinkumekakashikishikimekirinkumekikashikishikimekirinkumekishikitomedorinkumekiaririkimekichimorinkutemoshikitomedorinkumekikashikishikimekirinkumekimirikirinmoshikitomedochikurinmoaririkimekichimorinkutemoshikitomedorinkumeki

[ADDED=SlayerR]1176230988[/ADDED]
бугага :агы:

[ADDED=SlayerR]1176231055[/ADDED]
o_O = mo.mo
 
Last edited:

1m.dm

<geek/>
Jun 25, 2004
3,028
38
2
0
Kiev
В твоем коде нет проверки на существование $_POST['slovo'], а ты её используешь.
Некошерно.
Code:
(trim($_POST['slovo']) != '') ? trim($str = $_POST['slovo']) : $str = "";
Зачем это? Можно просто написать $str = trim($_POST['slovo']);
Code:
$trans = "";
Юзай одинарные кавычки, где нет интерполяции переменных в строке.


Если спорить о компактности, то мой код упрощается легко до следующего:
Code:
if (isset($_GET['text'])) {
    echo str_replace(array_keys($charmap), array_values($charmap), strtolower($_GET['text']));
}
 
Last edited:

TwisteR

Техническая поддержка
Jul 24, 2006
4,043
Виноват, исправлюсь :headshot:
Насчет отсутствия проверки существования $_POST['slovo'] и двойных кавычек - согласен.
Если str_replace написана на Ассемблере - признаю поражение %)

PS: жуткий оффтоп :agy:
 

Lantrat

Hancock
Sep 10, 2006
5,578
41
9
0
2 TwisteR:
2 1m.dm:
Мож вам лучше переехать в раздел кодинга :)
 

Game Server

CSM TV

Page QR Code

QR Code

Donate Campaign

Total amount
$0.00
Goal
$25.00

Latest profile posts

TestUser wrote on TRUP@C's profile.
Master?
TestUser wrote on TRUP@C's profile.
Hello Father

Members online

No members online now.

Discord