|
|
|
| Как убрать идущих подряд переводов строк?
Т.е. если один перенос - оставляем, а если 2 или более, то удаляем. | |
|
|
|
|
|
|
|
для: Specter
(18.06.2007 в 15:49)
| | Можно поступить следующим образом
<?php
$text = preg_replace("|[\r\n]+|", "\r\n", $text);
$text = preg_replace("|[\n]+|", "\n", $text);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(18.06.2007 в 16:45)
| | я ваще не понимаю, ЗАЧЕМ нужен \r? что он дает? \n - перевод, \t - табуляция, а \r - что????? | |
|
|
|
|
|
|
|
для: bronenos
(18.06.2007 в 17:20)
| | \n - для UNIX
\r\n - для Windows
по-моемую :) | |
|
|
|
|
|
|
|
для: 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"); | |
|
|
|
|
|
|
|
для: bronenos
(18.06.2007 в 17:20)
| | Исторически сложилось, что под Windows и части других систем переводы строк обозначаются \r\n, под UNIX - \n. | |
|
|
|
|
|
|
|
для: cheops
(18.06.2007 в 16:45)
| | [\r\n] - из этого может получиться какой-нибудь \n\r ?
Оттуда же, видимо, может вылести и \n | |
|
|
|
|
|
|
|
для: kasmanaft
(19.06.2007 в 12:44)
| | Согласен, достаточно лишь первой замены \n\r помоему - перевод строки в Macintosh, поэтому может оно и не плохо. | |
|
|
|
|
|
|
|
для: cheops
(20.06.2007 в 10:29)
| | Я вот где-то читал (сейчас уже не вспомню - где именно) что в исполнительном окружении MACов символ \r имеет код 10 , а символ \n - код 13.
И соответственно, особые изменения в сырцах локальных приложений вводить не приходится.
Интересно, правда ли это вообще и для PHP в частности?
Хотя какое из php локальное приложение... | |
|
|
|