Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Убрать перенос строки
 
 автор: Specter   (18.06.2007 в 15:49)   письмо автору
 
 

Как убрать идущих подряд переводов строк?
Т.е. если один перенос - оставляем, а если 2 или более, то удаляем.

   
 
 автор: cheops   (18.06.2007 в 16:45)   письмо автору
 
   для: Specter   (18.06.2007 в 15:49)
 

Можно поступить следующим образом
<?php
  $text 
preg_replace("|[\r\n]+|""\r\n"$text);
  
$text preg_replace("|[\n]+|""\n"$text);
?>

   
 
 автор: bronenos   (18.06.2007 в 17:20)   письмо автору
 
   для: cheops   (18.06.2007 в 16:45)
 

я ваще не понимаю, ЗАЧЕМ нужен \r? что он дает? \n - перевод, \t - табуляция, а \r - что?????

   
 
 автор: Unknown   (18.06.2007 в 18:08)   письмо автору
 
   для: bronenos   (18.06.2007 в 17:20)
 

\n - для UNIX
\r\n - для Windows
по-моемую :)

   
 
 автор: Trianon   (18.06.2007 в 18:16)   письмо автору
 
   для: bronenos   (18.06.2007 в 17:20)
 

Если Вы откроете любой документ RFC , описывающий тот или иной протокол интернет, то не увидите там ни одного \n . Увидите сплошные а CRLF pair.
Как Вы думаете, что это?

Формально:
CR - (carriage return) возврат каретки - управляющий символ, перемещающий курсор в начало текущей строки. ascii код = 0x0D = 13 = ord("\r");
LF - (line feed) перевод строки - управляющий символ, перемещающий курсор на одну строку вниз. ascii код = 0x0A = 10 = ord("\n");

   
 
 автор: cheops   (18.06.2007 в 19:11)   письмо автору
 
   для: bronenos   (18.06.2007 в 17:20)
 

Исторически сложилось, что под Windows и части других систем переводы строк обозначаются \r\n, под UNIX - \n.

   
 
 автор: kasmanaft   (19.06.2007 в 12:44)   письмо автору
 
   для: cheops   (18.06.2007 в 16:45)
 

[\r\n] - из этого может получиться какой-нибудь \n\r ?
Оттуда же, видимо, может вылести и \n

   
 
 автор: cheops   (20.06.2007 в 10:29)   письмо автору
 
   для: kasmanaft   (19.06.2007 в 12:44)
 

Согласен, достаточно лишь первой замены \n\r помоему - перевод строки в Macintosh, поэтому может оно и не плохо.

   
 
 автор: Trianon   (20.06.2007 в 11:15)   письмо автору
 
   для: cheops   (20.06.2007 в 10:29)
 

Я вот где-то читал (сейчас уже не вспомню - где именно) что в исполнительном окружении MACов символ \r имеет код 10 , а символ \n - код 13.
И соответственно, особые изменения в сырцах локальных приложений вводить не приходится.

Интересно, правда ли это вообще и для PHP в частности?
Хотя какое из php локальное приложение...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования