Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Необходимо сделать конверт букв с русских на англи 
:(
    Опции темы
viperson
Дата 7.4.2009, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 5.1.2009

Репутация: нет
Всего: -1



Здравствуйте гуру!

Необходима помощь в решении вот какой задачи:

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

то есть

а = f
б = ,    и тд

  или

Солнце = Cjkywt

Надеюсь понятно мое изложение сути преобразования.  smile 

Буду очень благодарен за вашу  помощь.


PM   Вверх
enof
Дата 7.4.2009, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Код

str_replace(array("й", "ц", "у"), array("q", "w", "e"), $str);

PM MAIL ICQ Skype   Вверх
viperson
Дата 7.4.2009, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 5.1.2009

Репутация: нет
Всего: -1



Цитата(enof @ 7.4.2009,  15:17)
Код

str_replace(array("й", "ц", "у"), array("q", "w", "e"), $str);



то есть получается что мне нужно фактически добавить соответсвия всего что мне нужно и готово?

Но вопрос еще в другом.

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

Это сообщение отредактировал(а) viperson - 7.4.2009, 15:24
PM   Вверх
enof
Дата 7.4.2009, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



viperson,  smile 
PM MAIL ICQ Skype   Вверх
viperson
Дата 7.4.2009, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 5.1.2009

Репутация: нет
Всего: -1



Я чуть подправил пост и нужно усовершенствование скрипта согласно моих нужд
PM   Вверх
Akonkagva1
Дата 7.4.2009, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 22.12.2008
Где: Латвия

Репутация: нет
Всего: нет



Код

$handle = fopen("/tmp/inputfile.txt", "r");
$buffer = fgets($handle, 4096)
    str_replace(array("й", "ц", "у"), array("q", "w", "e"), $buffer);
}
fclose($handle);
$handle = fopen("/tmp/writefile.txt", "r");
fwrite($handle, $somecontent);

PM MAIL WWW Skype   Вверх
Primitive
Дата 7.4.2009, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 7.4.2009

Репутация: нет
Всего: нет



viperson
С помошью функций fopen() fclose() fwrite() fgets()
PM MAIL WWW ICQ   Вверх
enof
Дата 7.4.2009, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Почему не file_get(put)_contents(), если файл не большой?
Код

fgets($handle, 4096)

А если строка в файле занимает больше 4кб и данные, например, в utf8? smile 
PM MAIL ICQ Skype   Вверх
viperson
Дата 7.4.2009, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 5.1.2009

Репутация: нет
Всего: -1



Спасибо за подсказки, буду пробовать.
PM   Вверх
nerezus
Дата 7.4.2009, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



viperson, это не подсказки. Тебе готовое решение дали уже.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
viperson
Дата 7.4.2009, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 5.1.2009

Репутация: нет
Всего: -1



Код

<?php
$handle = fopen("input.txt", "r");
$buffer = fgets($handle, 4096)
    str_replace(array("й", "ц", "у", "к", "е", "н", "г", "ш", "щ", "з", "х", "ъ", "ф", "ы", "в", "а", "п", "р", "о", "л", "д", "ж", "э", "я", "ч", "с", "м", "и", "т", "ь", "б", "ю", "ё"), array("q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[", "]", "a", "s", "d", "f", "g", "j", "k", "l", ";", "'", "z", "x", "c", "v", "b", ",", ".", "/", "`"), $buffer);
}
fclose($handle);
$handle = fopen("output.txt", "r");
fwrite($handle, $somecontent);
?>


Выдает Parse error: syntax error, unexpected T_STRING in Z:\home\localhost\www\letcon\index.php on line 4

одскажите где ошибка? Использую Denwer 3


Это сообщение отредактировал(а) viperson - 7.4.2009, 17:41
PM   Вверх
bars80080
Дата 7.4.2009, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(viperson @  7.4.2009,  17:40 Найти цитируемый пост)
Parse error: syntax error

синтаксическая ошибка, у тебя скобка лишняя/ или не поставлена

в данном случае добавь её сюда:

Код

$buffer = fgets($handle, 4096) {

PM MAIL WWW   Вверх
viperson
Дата 7.4.2009, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 5.1.2009

Репутация: нет
Всего: -1



Цитата(bars80080 @ 7.4.2009,  17:53)
Цитата(viperson @  7.4.2009,  17:40 Найти цитируемый пост)
Parse error: syntax error

синтаксическая ошибка, у тебя скобка лишняя/ или не поставлена

в данном случае добавь её сюда:

Код

$buffer = fgets($handle, 4096) {

После подстановки скобки выдает

Parse error: syntax error, unexpected '{' in Z:\home\localhost\www\letcon\index.php on line 3

PM   Вверх
bars80080
Дата 7.4.2009, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



считай скобки, сколько открывающих столько должно быть и закрывающих. причём пересекаться они не могут: { ( } ) - нельзя
PM MAIL WWW   Вверх
viperson
Дата 7.4.2009, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 5.1.2009

Репутация: нет
Всего: -1



Цитата(bars80080 @ 7.4.2009,  18:02)
считай скобки, сколько открывающих столько должно быть и закрывающих. причём пересекаться они не могут: { ( } ) - нельзя

Можно по конкретному коду сказать где ошибка? Скобки вроде все правильные
Код

<?php
$handle = fopen("input.txt", "r");
$buffer = fgets($handle, 4096) 
    str_replace(array("й", "ц", "у", "к", "е", "н", "г", "ш", "щ", "з", "х", "ъ", "ф", "ы", "в", "а", "п", "р", "о", "л", "д", "ж", "э", "я", "ч", "с", "м", "и", "т", "ь", "б", "ю", "ё"), array("q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[", "]", "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'", "z", "x", "c", "v", "b", "n", ",", ".", "/", "`"), $buffer);
}
fclose($handle);
$handle = fopen("output.txt", "r");
fwrite($handle, $somecontent);
?>


Это сообщение отредактировал(а) viperson - 7.4.2009, 18:41
PM   Вверх
enof
Дата 7.4.2009, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Цитата(viperson @  7.4.2009,  19:06 Найти цитируемый пост)
Можно по конкретному коду сказать где ошибка? Скобки вроде все правильные

цикл где? http://php.net/fgets
PM MAIL ICQ Skype   Вверх
viperson
Дата 7.4.2009, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 5.1.2009

Репутация: нет
Всего: -1



Если бы я понимал в пхп. Меня девушка просто попросила помочь. Можно исправить все в коде что не правильно?

PM   Вверх
enof
Дата 7.4.2009, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Цитата(viperson @  7.4.2009,  20:04 Найти цитируемый пост)
Можно исправить все в коде что не правильно?

Отчего ж нельзя? Можно.
Код

$str = file_get_contents("filename"); // Читаем файл в переменную
$str = str_replace();//Заменяем буквы
file_put_contents("filename", $str); // Пишем переменную в файл.

Даже при полном незнании пхп, 20 мин в мане и готово.

Это сообщение отредактировал(а) enof - 7.4.2009, 19:23
PM MAIL ICQ Skype   Вверх
bars80080
Дата 7.4.2009, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Код

<?php
$handle = fopen("input.txt", "r");
$somecontent = '';
$what = array("й", "ц", "у", "к", "е", "н", "г", "ш", "щ", "з", "х", "ъ", "ф", "ы", "в", "а", "п", "р", "о", "л", "д", "ж", "э", "я", "ч", "с", "м", "и", "т", "ь", "б", "ю", "ё");
$onwhat = array("q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[", "]", "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'", "z", "x", "c", "v", "b", "n", ",", ".", "/", "`");
while(!feof($handle)) {
    $buffer = fgets($handle, 4096) 
    $somecontent .= str_replace($what, $onwhat, $buffer)."\r\n";
}
fclose($handle);
$handle = fopen("output.txt", "r");
fwrite($handle, $somecontent);
?>

PM MAIL WWW   Вверх
viperson
Дата 7.4.2009, 19:44 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 5.1.2009

Репутация: нет
Всего: -1



Короче код не работает.
PM   Вверх
SneG0K
Дата 7.4.2009, 19:52 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



viperson, короче смени драйвер между стулом и клавиатурой!
PM WWW Skype   Вверх
viperson
Дата 7.4.2009, 19:58 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 5.1.2009

Репутация: нет
Всего: -1



Parse error: syntax error, unexpected T_VARIABLE in Z:\home\localhost\www\letcon\index2.php on line 8

такая вот ошибка в Denwer 3. Драйверсвой меняй,  у меня не требует драйверов. smile 
PM   Вверх
SneG0K
Дата 7.4.2009, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



viperson, о_0 так ты без драйверов?! Ну тогда все плохо!!!

Цитата(viperson @  7.4.2009,  18:58 Найти цитируемый пост)
Parse error: syntax error, unexpected T_VARIABLE in Z:\home\localhost\www\letcon\index2.php on line 8

Тебя носом ткнуло в место где ошибка!
PM WWW Skype   Вверх
viperson
Дата 7.4.2009, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 5.1.2009

Репутация: нет
Всего: -1



Я написал что не шарю ты можешь код выложить? я вижу где строка 8 не знаю что менять.
PM   Вверх
NLspieler
Дата 7.4.2009, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 619
Регистрация: 13.10.2008
Где: Берлин

Репутация: 16
Всего: 19



Попробуй так, может заработает.

Код

<?php
$handle = fopen("input.txt", "r");
$somecontent = '';
$what = array("й", "ц", "у", "к", "е", "н", "г", "ш", "щ", "з", "х", "ъ", "ф", "ы", "в", "а", "п", "р", "о", "л", "д", "ж", "э", "я", "ч", "с", "м", "и", "т", "ь", "б", "ю", "ё");
$onwhat = array("q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[", "]", "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'", "z", "x", "c", "v", "b", "n", ",", ".", "/", "`");
while(!feof($handle)) {
    $buffer = fgets($handle, 4096) ;
    $somecontent .= str_replace($what, $onwhat, $buffer)."\r\n";
}
fclose($handle);
$handle = fopen("output.txt", "r");
fwrite($handle, $somecontent);
?>

PM MAIL   Вверх
skyboy
Дата 7.4.2009, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



в седьмой строке у bars80080 пропущена точка с запятой.

PM MAIL   Вверх
bars80080
Дата 7.4.2009, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



а-а-а-а, о_0, я оказался не способен....


...



где стена?
PM MAIL WWW   Вверх
skyboy
Дата 7.4.2009, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



не способен на что? написать абсолютно верный код без единой опечатки, не пользуясь подсказками анализатора? smile

PM MAIL   Вверх
bars80080
Дата 7.4.2009, 23:48 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(skyboy @  7.4.2009,  23:37 Найти цитируемый пост)
написать абсолютно верный код без единой опечатки, не пользуясь подсказками анализатора? 

не способен подать человеку полноценное рагу из перца, томатов, картошки и капусты. в этот раз забыл вилку и теперь, глядя на то, как человек хлебает это ботинком, хочется найти стену


PM MAIL WWW   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0824 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.