Sidebar

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

  • Автор теми LEN@
  • Дата створення

1m.dm

<geek/>
VIP
25.06.04
3 028
38
2
0
Kiev
  • Серебряная медаль 332
Твистер, покажи код :) Покажу как лучше :)
 

TwisteR

VIP
VIP
24.07.06
4 045
  • Серебряная медаль 311
  • Золотая медаль 115
  • Серебряная медаль 215
Давай =)
Код:
<?
   $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/>
VIP
25.06.04
3 028
38
2
0
Kiev
  • Серебряная медаль 332
А вообще тут даже смотреть нечего :)
Вот хороший вариант реализации:

Код:
<?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. Не тестил работоспособность.
 

tzara

Administrator
Команда форуму
Администратор
18.02.06
11 667
23
kashikishikimekirinkumekimirikirinmoshikitomedochikurinmoaririkimekichimorinkutemoshikitomedorinkumekashikitomedorinkumekamekaaririkimekiaririkimekirinkumekishikitomedorinkumekimekaaririkimekiaririkimekirinkumekishikitomedorinkumekiaririkimekichimorinkutemoshikitomedorinkumekikashikishikimekirinkumekimirikirinmoshikitomedochikurinmoaririkimekichimorinkutemoshikitomedorinkumekikashikishikimekirinkumekimirikirinmoshikitomedorinkumekimekaaririkimekiaririkimekirinkumekishikitomedorinkumekiaririkimekichimorinkutemoshikitomedorinkumekikashikishikimekirinkumekimirikirinmoshikitomedochikurinmoaririkimekichimorinkutemoshikitomedorinkumekamekaaririkimekiaririkimekirinkumekishikitomedorinkumekirinkishikimekishikitorinmoaririkimekichimorinkutemomirikimedoshikitorinmokashikishikimekirinkumekimirikirinmoshikitomedochikurinmoaririkimekichimorinkutemoshikitomedorinkumekashikitomekiaririkimekirinkumekishikitomedorinkumekarinkishikimekirinkutemoaririkimekichimoshikitorinmoshikitomekiaririkimekirinkumekishikitomedochikurinmokashikishikimekirinkumekimirikirinmoaririkimekichimoshikitorinmomekaaririkimekiaririkimekirinkumekishikitomedorinkumekirinkishikimekishikitorinmoaririkimekichimorinkutemomirikimedoshikitorinmoshikitomekiaririkimekirinkumekishikitomedochikurinmokashikishikimekirinkumekimirikirinmoaririkimekichimoshikitorinmoaririkimekichimorinkutemoshikitomedorinkumekarinkumekakashikishikimekirinkumekikashikishikimekirinkumekishikitomedorinkumekiaririkimekichimorinkutemoshikitomedorinkumekirinkumekakashikishikimekirinkumekikashikishikimekirinkumekishikitomedorinkumekiaririkimekichimorinkutemoshikitomedorinkumekikashikishikimekirinkumekimirikirinmoshikitomedochikurinmoaririkimekichimorinkutemoshikitomedorinkumekiaririkimekichimorinkutemoshikitomedorinkumekarinkumekakashikishikimekirinkumekikashikishikimekirinkumekishikitomedorinkumekiaririkimekichimorinkutemoshikitomedorinkumekirinkumekakashikishikimekirinkumekikashikishikimekirinkumekishikitomedorinkumekiaririkimekichimorinkutemoshikitomedorinkumekikashikishikimekirinkumekimirikirinmoshikitomedochikurinmoaririkimekichimorinkutemoshikitomedorinkumeki

Post automatically merged:

бугага :агы:

Post automatically merged:

o_O = mo.mo
 
Останнє редагування:

Boton

Вздрыжне жляцни!1
10.01.06
735
33
0
16
Питер
sergey - arikushijikufu
boton - zumochimoto (зумочимото ыыы.. ниндзё) :agy:
 

1m.dm

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


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

TwisteR

VIP
VIP
24.07.06
4 045
  • Серебряная медаль 311
  • Золотая медаль 115
  • Серебряная медаль 215
Виноват, исправлюсь :headshot:
Насчет отсутствия проверки существования $_POST['slovo'] и двойных кавычек - согласен.
Если str_replace написана на Ассемблере - признаю поражение %)

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

1m.dm

<geek/>
VIP
25.06.04
3 028
38
2
0
Kiev
  • Серебряная медаль 332
Поверь, str_replace будет быстрее for-цикла в php )
 

Lantrat

Hancock
VIP
10.09.06
5 581
41
9
38
  • Золотая медаль 221
2 TwisteR:
2 1m.dm:
Мож вам лучше переехать в раздел кодинга :)
 

Game Server

Доноры Красавчики

Користувачі онлайн