Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: удаление из строки "\n"  (Прочитано 20774 раз)
0 Пользователей и 4 Гостей смотрят эту тему.
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« : 15-08-2005 13:20 » 

В файл заношу строки и при этом в конце каждой строки вставляю "\n".
Потом мне в дальнейшем требуется считать строку из файла и дописать в нее необходимые значения.
Вот что я делаю в начале
Код:
$record = file($data_file);
   $jmlrec = count($record);
   for ($i=0; $i<$jmlrec; $i++) {
       $row = explode("|~~|",$record[$i]);
       if ($id==$row[0]) {
           $record[$i].="|**answ**|".$answer."|**answ**|" ;
         break;
          }
   }

Но, как вы наверное догадались, врезультате получается строка вида
Цитата
1|~~|blabla|~~| \n |**answ**|"blabla"|**answ**|
Т.е. строка на самом деле таковой не является, а получается две строки. Мне очень надо, чтобы строка была единой. Подскажите красивый способ, того как удалить "\n" или хотя бы как этот символ перенести в конец строки.
Мне в голову ничего не лезет кроме глупостей Жаль.
Записан

ещё один вопрос ...
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 15-08-2005 14:01 » 

chop(), rtrim().
http://php.rinet.ru/manual/ru/function.chop.php
http://php.rinet.ru/manual/ru/function.rtrim.php
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 15-08-2005 14:08 » 

RXL, то что надо, спсибо большое.
Записан

ещё один вопрос ...
schnibbl
Гость
« Ответ #3 : 27-09-2005 12:20 » 

сорри конешна а не могли бы вы объяснить про управляющие последовательности? вот как раз такие как "\n" "\t" (табуляция.)
я так понимаю раз это переход на новую строку тогда почему print("текст \n текст"); выводит в браузере всё в 1 строку ? просто \n проглатывает, автор в книжке пишет print("текст <br>\n текст"); но тогда я вообще не понимаю зачем \n писать ?. или это у меня php настроен криво ?
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 27-09-2005 13:51 » 

потому что \n это всего лишь перевод строки, а не начало новой <br>
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
schnibbl
Гость
« Ответ #5 : 28-09-2005 09:50 » 

и что в твоем понимании "перевод строки" ?
а \t проглатывает почему тогда (обычный пробел) ?

или эти символы используются для каких нить редакторов, чтобы им дать понять где конец строки а где отступ ? а браузеру на них пофиг ??
Записан
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 28-09-2005 09:59 » 

В браузере ведь отображается HTML. В HTML \n ничего не значит, a <br> - это как никак тэг перевода на новую строку. Я это так понимаю.
Цитата
потому что \n это всего лишь перевод строки, а не начало новой <br>
Ага Улыбаюсь, масло масленное Улыбаюсь.
Записан

ещё один вопрос ...
schnibbl
Гость
« Ответ #7 : 28-09-2005 10:21 » 

с одной стороны так то оно так и ответ уже намного понятнее Улыбаюсь, но есть одно НО, в браузере этих символов нету, не \n не \t, а это значит что предназначались они для функции print(); получается тогда что функция принт дожна была отвечать за перевод на новую строку, либо их просто проигнорировала, или же если теперь с этим текстом поработать в каком нить emacs'е или vi. то будет всё пучком.
« Последнее редактирование: 20-12-2007 21:13 от Алексей1153++ » Записан
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 28-09-2005 12:33 » 

В С/С++ функция printf направляет данные в поток вывода. На РНР также можно писать CGI-скрипты, может как-нибудь с этим можно связать данный вопрос, типа с помощью функции print направлять данные в поток. Но это все мои домыслы.
Записан

ещё один вопрос ...
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #9 : 28-09-2005 17:11 » 

На РНР также можно писать CGI-скрипты...
Хммм...
Примерчик можно ?
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
schnibbl
Гость
« Ответ #10 : 29-09-2005 04:42 » 

Мороз елки палки, лудше бы прояснил ситуацию с этими последовательностями, а ну скажи своё веское слово Улыбаюсь
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #11 : 29-09-2005 07:36 » 

А что тут прояснять ?
Смотри :
\n - переход на новую строку
В ХТМЛ на выводе не отображаетя, но если ты сделаеш View Source, то увидиш что переходы есть.
С \t та же история. А нужно это например вот для чего :
1. ты записываеш в цикле какие-то данные в файл. Если впишеш через <br /> то в файле в итоге получиш всё в одну строку. А если через \n, то красиво всё через переход строки.
2. Ты пишеш скрипт, который в *никсовой консоли что-то делает и выводит на консоль какую-то отладочную информацию. Тут опять же понадобятя escape последовательности типа \n , \t , \r для форматирования вывода на экран.

Ну и так далее. Примеров много может быть. Вывод один Улыбаюсь Если выводиш в браузер - пользуй ХТМЛ тэги, ели при этом хочеш видеть как-то отформатированый сорс, тогда пользуй комбинации аля <br />\n, ну а если на консоль то только escape последовательности типа \n , \t , \r
« Последнее редактирование: 29-09-2005 07:38 от MOPO3 » Записан

MCP, MCAD, MCTS:Win, MCTS:Web
schnibbl
Гость
« Ответ #12 : 29-09-2005 09:31 » 

спасибо.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 29-09-2005 11:01 » new

Действие \t и \n можно увидеть, если обернуть текст в <PRE></PRE> (предварительно сформатированный текст).
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines