что они называются \ r \ n и есть ли учебник, который их объясняет?
Это «возврат каретки» и «линия подачи» соответственно. Как правило, в Windows вам нужно обе вместе, чтобы представить терминатор линии: «\ r \ n», тогда как для большинства (все?) Unix-систем достаточно «\ n».
См. Запись в Wikipedia Newline для получения более подробной информации о капризах различных систем.
См. Руководство по PHP для получения дополнительной информации об эвакуационных последовательностях в целом и других доступных в PHP.
Многие другие языки (например, C, C ++, C #, Java, Perl, Python, Ruby) используют одни и те же escape-последовательности для возврата каретки и строки, но все они указаны для отдельного языка. (Другими словами, это язык специфический, но ответ будет одинаковым для многих языков.)
\r
– возврат каретки
\n
– это символ новой строки
Они доступны на многих других языках помимо PHP.
Это escape-последовательности . \n
– это символ новой строки, а \r
– возврат каретки.
В Windows большинство текстовых редакторов имеют новую строку как \ r \ n, а в unix – \ n
\r
– Возврат каретки \n
– Линейный канал (или новая строка ).
В системах Windows они вместе создают новую строку (т.е. каждый раз, когда вы нажимаете кнопку ввода, ваше исправление получится \r\n
).
В PHP, если вы откроете текстовый файл в стиле Windows, вы получите \r\n
в конце абзацев / строк, если бы вы нажали enter. Если это текстовый файл в стиле Unix, вы получите только \n
.
Не ответ на ваш вопрос, но, тем не менее, актуальный: я бы рекомендовал использовать константу PHP_EOL всякий раз, когда вы хотите вставить новую строку. Константа PHP_EOL содержит правильный новый символ (строки) для платформы, на которой выполняется сценарий (\ n в Unix, \ r \ n в Windows).
\n
– это новая строка или строка, другая сторона \r
– возврат каретки. Они отличаются тем, что их использует. Windows использует \r\n
для обозначения нажатия клавиши ввода, в то время как Linux и Unix используют \n
для обозначения нажатия клавиши ввода.
В Unix и во всех Unix-подобных системах \n
– это код для конца строки, \r
ничего особенного не имеет. В старых системах Mac (pre-OS X) вместо этого использовался код конца строки. \r\n
– стандартное прерывание строки для текстовых форматов в Интернете.
\r
передает карету назад влево до тех пор, пока она не окажется на самой левой остановке, \n
заставит ролик закрутить одну линию (более быстрая операция). Вот почему у вас всегда есть \ r до \ n, так что ролик может двигаться, пока каретка все еще идет влево.