
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
[x]
Дата
|
|||
![]() Unregistered ![]() |
Вот скрипт для конвертации из кириллицы в латиницу, пробовал запустить его на localhost, не работает, нашел ошибки в коде такие как:
Цитата case "Э": echo ""E"; break; скрипт перестал выводить ошибки и стал исполняться, но проблема в том, что исполняться то он исполняется, а вот текст не конвертирует, а отображается только Код Спасибо за использование сервиса ! Помогите разобраться. Код <FORM ACTION="trans.php" METHOD="GET"> <TEXTAREA TYPE="text" NAME="str" COLS=50 ROWS=10 WRAP=virtual> Текст до 500 знаков </TEXTAREA> <INPUT TYPE="Submit" VALUE="Перевести !" > </FORM> Код <?php echo "<html> "; echo "<head> "; echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\"> "; echo "</head> "; echo "<body> "; echo "<P><center><BR> Конвертация русского текста, написанного русским шрифтом в русский текст, написанный латинским шрифтом (из кириллицы в латиницу). </p>"; echo "<b>"; echo "<blockquote>"; $mm=strlen($str); for ($i=0;$i<=$mm;$i++) { $ss=$str[$i]; switch ($ss) { case "щ": echo "sch"; break; case "ч": echo "ch"; break; case "ш": echo "sh"; break; case "я": echo "ja"; break; case "ю": echo "ju"; break; case "ё": echo "jo"; break; case "ж": echo "zh"; break; case "э": echo ""e"; break; case "Щ": echo "Sch"; break; case "Ч": echo "Ch"; break; case "Ш": echo "Sh"; break; case "Я": echo "Ja"; break; case "Ю": echo "Ju"; break; case "Ё": echo "Jo"; break; case "Ж": echo "Zh"; break; case "Э": echo ""E"; break; case "ь": echo """; break; case "ъ": echo "'"; break; case "а": echo "a"; break; case "б": echo "b"; break; case "ц": echo "c"; break; case "д": echo "d"; break; case "е": echo "e"; break; case "ф": echo "f"; break; case "г": echo "g"; break; case "х": echo "h"; break; case "и": echo "i"; break; case "й": echo "j"; break; case "к": { if ($str[$i+1]=="с" ) { echo "x"; $i=$i+1; break;} echo "k"; break; } case "л": echo "l"; break; case "м": echo "m"; break; case "н": echo "n"; break; case "о": echo "o"; break; case "п": echo "p"; break; case "р": echo "r"; break; case "с": echo "s"; break; case "т": echo "t"; break; case "у": echo "u"; break; case "в": echo "v"; break; case "ы": echo "y"; break; case "з": echo "z"; break; case "Ь": echo "'"; break; case "Ъ": echo "'"; break; case "А": echo "A"; break; case "Б": echo "B"; break; case "Ц": echo "C"; break; case "Д": echo "D"; break; case "Е": echo "E"; break; case "Ф": echo "F"; break; case "Г": echo "G"; break; case "Х": echo "H"; break; case "И": echo "I"; break; case "Й": echo "J"; break; case "К": { if ($str[$i+1]=="С" ) { echo "X"; $i=$i+1; break;} if ($str[$i+1]=="с" ) { echo "X"; $i=$i+1; break;} echo "K"; break; } case "Л": echo "L"; break; case "М": echo "M"; break; case "Н": echo "N"; break; case "О": echo "O"; break; case "П": echo "P"; break; case "Р": echo "R"; break; case "С": echo "S"; break; case "Т": echo "T"; break; case "У": echo "U"; break; case "В": echo "V"; break; case "Ы": echo "Y"; break; case "З": echo "Z"; break; default: echo $ss; } } echo "</b><br><br>"; echo "</blockquote>"; echo "<P><center>Спасибо за использование сервиса !</center></p>"; echo "</body> "; echo "</html> "; ?> Спустя 23 минуты, 8 секунд (11.04.2008 - 00:17) Adil написал(а): Проверь этот код будет работать???: Код <?php echo "<html> "; echo "<head> "; echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\"> "; echo "</head> "; echo "<body> "; echo "<P><center><BR> Конвертация русского текста, написанного русским шрифтом в русский текст, написанный латинским шрифтом (из кириллицы в латиницу). </p>"; echo "<b>"; echo "<blockquote>"; $mm=strlen($str); for ($i=0;$i<=$mm;$i++) {@$ss=$str[$i]; switch ($ss) { case "щ": echo "sch"; break; case "ч": echo "ch"; break; case "ш": echo "sh"; break; case "я": echo "ja"; break; case "ю": echo "ju"; break; case "ё": echo "jo"; break; case "ж": echo "zh"; break; case "э": echo "e"; break; case "Щ": echo "Sch"; break; case "Ч": echo "Ch"; break; case "Ш": echo "Sh"; break; case "Я": echo "Ja"; break; case "Ю": echo "Ju"; break; case "Ё": echo "Jo"; break; case "Ж": echo "Zh"; break; case "Э": echo "E"; break; case "ь": echo "\""; break; case "ъ": echo "'"; break; case "а": echo "a"; break; case "б": echo "b"; break; case "ц": echo "c"; break; case "д": echo "d"; break; case "е": echo "e"; break; case "ф": echo "f"; break; case "г": echo "g"; break; case "х": echo "h"; break; case "и": echo "i"; break; case "й": echo "j"; break; case "к": { if ($str[$i+1]=="с" ) { echo "x"; $i=$i+1; break;} echo "k"; break; } case "л": echo "l"; break; case "м": echo "m"; break; case "н": echo "n"; break; case "о": echo "o"; break; case "п": echo "p"; break; case "р": echo "r"; break; case "с": echo "s"; break; case "т": echo "t"; break; case "у": echo "u"; break; case "в": echo "v"; break; case "ы": echo "y"; break; case "з": echo "z"; break; case "Ь": echo "'"; break; case "Ъ": echo "'"; break; case "А": echo "A"; break; case "Б": echo "B"; break; case "Ц": echo "C"; break; case "Д": echo "D"; break; case "Е": echo "E"; break; case "Ф": echo "F"; break; case "Г": echo "G"; break; case "Х": echo "H"; break; case "И": echo "I"; break; case "Й": echo "J"; break; case "К": { if ($str[$i+1]=="С" ) { echo "X"; $i=$i+1; break;} if ($str[$i+1]=="с" ) { echo "X"; $i=$i+1; break;} echo "K"; break; } case "Л": echo "L"; break; case "М": echo "M"; break; case "Н": echo "N"; break; case "О": echo "O"; break; case "П": echo "P"; break; case "Р": echo "R"; break; case "С": echo "S"; break; case "Т": echo "T"; break; case "У": echo "U"; break; case "В": echo "V"; break; case "Ы": echo "Y"; break; case "З": echo "Z"; break; default: echo $ss; } } echo "</b><br><br>"; echo "</blockquote>"; echo "<P><center>Спасибо за использование сервиса !</center></p>"; echo "</body> "; echo "</html> "; ?> Спустя 7 часов, 51 минута, 56 секунд (11.04.2008 - 08:09) disc написал(а): Вот вам функция для удобного перевода, будет работать быстрее чем описанная выше с циклом и switch'ем. Код print translitString('Строка') Код <?php // функция перевода текста с кириллицы в транслит function translitString($st) { // Сначала заменяем "односимвольные" фонемы. $st=strtr($st,"абвгдеёзийклмнопрстуфхъыэ_", "abvgdeeziyklmnoprstufh'iei"); $st=strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ_", "ABVGDEEZIYKLMNOPRSTUFH'IEI"); // Затем - "многосимвольные". $st=strtr($st, array( "ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh", "щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya", "Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH", "Щ"=>"SHCH","Ь"=>"", "Ю"=>"YU", "Я"=>"YA", "ї"=>"i", "Ї"=>"Yi", "є"=>"ie", "Є"=>"Ye" ) ); // Возвращаем результат. return $st; } ?> Спустя 13 часов, 38 минут, 22 секунды (11.04.2008 - 21:48) DVN написал(а): Цитата Проверь этот код будет работать???: не реботает выводится пустая страница и как обычно: Цитата Спасибо за использование сервиса ! Цитата Вот вам функция для удобного перевода, будет работать быстрее чем описанная выше с циклом и switch'ем. Как правильно отправить нужный мне текст, для обработки вашим скриптом? Если через ту форму которая указана у меня, то так же выводится пустая страница!? Спустя 39 минут, 14 секунд (11.04.2008 - 22:27) Adil написал(а): Вот этот код попробуй, потому пожалуй дело у тебя в выключенном register_globals: Код <?php echo "<html> "; echo "<head> "; echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\"> "; echo "</head> "; echo "<body> "; echo "<P><center><BR> Конвертация русского текста, написанного русским шрифтом в русский текст, написанный латинским шрифтом (из кириллицы в латиницу). </p>"; echo "<b>"; echo "<blockquote>"; $mm=strlen($_GET['str']); for ($i=0;$i<=$mm;$i++) {@$ss=$_GET['str'][$i]; switch ($ss) { case "щ": echo "sch"; break; case "ч": echo "ch"; break; case "ш": echo "sh"; break; case "я": echo "ja"; break; case "ю": echo "ju"; break; case "ё": echo "jo"; break; case "ж": echo "zh"; break; case "э": echo "e"; break; case "Щ": echo "Sch"; break; case "Ч": echo "Ch"; break; case "Ш": echo "Sh"; break; case "Я": echo "Ja"; break; case "Ю": echo "Ju"; break; case "Ё": echo "Jo"; break; case "Ж": echo "Zh"; break; case "Э": echo "E"; break; case "ь": echo "\""; break; case "ъ": echo "'"; break; case "а": echo "a"; break; case "б": echo "b"; break; case "ц": echo "c"; break; case "д": echo "d"; break; case "е": echo "e"; break; case "ф": echo "f"; break; case "г": echo "g"; break; case "х": echo "h"; break; case "и": echo "i"; break; case "й": echo "j"; break; case "к": { if ($_GET['str'][$i+1]=="с" ) { echo "x"; $i=$i+1; break;} echo "k"; break; } case "л": echo "l"; break; case "м": echo "m"; break; case "н": echo "n"; break; case "о": echo "o"; break; case "п": echo "p"; break; case "р": echo "r"; break; case "с": echo "s"; break; case "т": echo "t"; break; case "у": echo "u"; break; case "в": echo "v"; break; case "ы": echo "y"; break; case "з": echo "z"; break; case "Ь": echo "'"; break; case "Ъ": echo "'"; break; case "А": echo "A"; break; case "Б": echo "B"; break; case "Ц": echo "C"; break; case "Д": echo "D"; break; case "Е": echo "E"; break; case "Ф": echo "F"; break; case "Г": echo "G"; break; case "Х": echo "H"; break; case "И": echo "I"; break; case "Й": echo "J"; break; case "К": { if ($_GET['str'][$i+1]=="С" ) { echo "X"; $i=$i+1; break;} if ($_GET['str'][$i+1]=="с" ) { echo "X"; $i=$i+1; break;} echo "K"; break; } case "Л": echo "L"; break; case "М": echo "M"; break; case "Н": echo "N"; break; case "О": echo "O"; break; case "П": echo "P"; break; case "Р": echo "R"; break; case "С": echo "S"; break; case "Т": echo "T"; break; case "У": echo "U"; break; case "В": echo "V"; break; case "Ы": echo "Y"; break; case "З": echo "Z"; break; default: echo $ss; } } echo "</b><br><br>"; echo "</blockquote>"; echo "<P><center>Спасибо за использование сервиса !</center></p>"; echo "</body> "; echo "</html> "; ?> Спустя 1 час, 21 минута, 49 секунд (11.04.2008 - 23:49) DVN написал(а): Nezabivaemiy, большое тебе человеческое спасибо! Глобалс действительно был выключен, но зато получился скрипт работаюший в более безопасном режиме. Спустя 9 месяцев, 9 дней, 19 часов, 11 минут, 2 секунды (21.01.2009 - 20:00) Guest написал(а): disc Спасибо Вам Огромное!! Как раз то, что искал ![]() Спустя 1 час, 13 минут, 55 секунд (21.01.2009 - 21:14) twin написал(а): Вообще оба варианта имеют существенные недостатки. Первый уж очень громоздок и долг, а второй не будет работать под utf. Вот если нужно кому нибудь ещё, примерно так:
Спустя 6 месяцев, 8 дней, 16 часов, 53 минуты, 53 секунды (30.07.2009 - 13:08) Staind написал(а): 2twin, мега респект за решение^^ Спустя 5 месяцев, 21 день, 6 минут, 27 секунд (21.01.2010 - 14:14) Адрей написал(а): народ помогите, как в хтмл это можно всунуть моя ася 13-12-12-2 заранее спс Спустя 8 дней, 1 час, 31 минута, 13 секунд (29.01.2010 - 15:45) Евгений написал(а): disc, Спасибо! То, что нужно! Спустя 2 минуты, 34 секунды (29.01.2010 - 15:48) Гость_Николай написал(а): пример использования на komarichi.ru |
||
|
![]() |
![]() ![]() ![]() |