Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Работа с файлами

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
tcjkjl
Отправлено: 25 Января, 2013 - 19:01:19
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Прошу помощи. Я новичок и мне нужно сделать следующую работу:
Файл input.txt содержит несколько строк текста.
Слова в тексте могут разделяться пробелами и знаками препинания.
Переписать текст в файл output.txt, заменив в каждой нечетной
строке все прописные согласные буквы на заглавные.
Заранее благодарю.
 
 Top
shum0531
Отправлено: 26 Января, 2013 - 08:44:18
Post Id



Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. function soglasnie($in_text){
  3.     $soglasnie_out = array(
  4.         'Б'=>'б','В'=>'в','Г'=>'г','Д'=>'д',
  5.         'Ж'=>'ж','З'=>'з','Й'=>'й','К'=>'к',
  6.         'Л'=>'л','М'=>'м','Н'=>'н','П'=>'п',
  7.         'Р'=>'р','С'=>'с','Т'=>'т','Ф'=>'ф',
  8.         'Х'=>'х','Ц'=>'ц','Ч'=>'ч','Ш'=>'ш',
  9.         'Щ'=>'щ');
  10.         return strtr($in_text,$soglasnie_out);
  11. };
  12.  
  13. // Поиск не четной строки
  14. // и применяем  soglasnie($in_text). Где $in_text= наша не четная строка
  15.  
 
 Top
tcjkjl
Отправлено: 26 Января, 2013 - 09:03:42
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




shum0531 Спасибо большое!
А не могли бы Вы полностью написать, как искать нечетную строку и далее.
Заранее благодарю
 
 Top
snikers987
Отправлено: 26 Января, 2013 - 13:40:02
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. $rgLines = file('input.txt', FILE_IGNORE_NEW_LINES); // читает построчно файл
  3. foreach($rgLines as $iKey => $sValue){
  4.     if(($iKey+1)%2 !== 0)
  5.         $rgLines[$iKey] = mb_strtoupper($sValue, 'UTF-8'); // нечетные строки переводим в верхний регистр
  6. }
  7. file_put_contents('output.txt', join("\n", $rgLines)); //пишем в фаил то что получилось
  8.  

Для небольшого файла можно примерно так..

(Отредактировано автором: 26 Января, 2013 - 14:01:46)



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
shum0531
Отправлено: 28 Января, 2013 - 08:40:36
Post Id



Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




snikers987 правильно написал принцип поиска, только вместо mb_strtoupper сделай так.
PHP:
скопировать код в буфер обмена
  1.  
  2. function soglasnie($in_text){
  3.     $soglasnie_out = array(
  4.         'Б'=>'б','В'=>'в','Г'=>'г','Д'=>'д',
  5.         'Ж'=>'ж','З'=>'з','Й'=>'й','К'=>'к',
  6.         'Л'=>'л','М'=>'м','Н'=>'н','П'=>'п',
  7.         'Р'=>'р','С'=>'с','Т'=>'т','Ф'=>'ф',
  8.         'Х'=>'х','Ц'=>'ц','Ч'=>'ч','Ш'=>'ш',
  9.         'Щ'=>'щ');
  10.         return strtr($in_text,$soglasnie_out);
  11. };
  12.  
  13. $rgLines = file('input.txt', FILE_IGNORE_NEW_LINES); // читает построчно файл
  14. foreach($rgLines as $iKey => $sValue){
  15.     if(($iKey+1)%2 !== 0)
  16.         $rgLines[$iKey] = soglasnie($sValue); // нечетные строки переводим в верхний регистр
  17. }
  18. file_put_contents('output.txt', join("\n", $rgLines)); //пишем в фаил то что получилось
  19.  
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB