Несколько причин, по которым могут возникать лишние переводы строк при программировании:
- Особенности работы с файлами в Windows. ru.stackoverflow.com В этой операционной системе перевод строки — это два байта, а именно CR+LF (ASCII 0x0D 0x0A). ru.stackoverflow.com При прямом чтении библиотечные функции неявно конвертируют их в |n — один символ, но при условии, что файл открыт в текстовом режиме. ru.stackoverflow.com Когда же байты читаются наоборот, то эта последовательность не распознаётся, и получаются два байта. ru.stackoverflow.com
- Особенности работы с PHP. qna.habr.com phpclub.ru Например, если в коде есть переносы строк, то при выводе в браузере они превращаются в лишние переносы строк. qna.habr.com Это происходит, потому что сервер отправляет в браузер всё, что вне тегов PHP, так как есть. qna.habr.com
Чтобы избавиться от лишних переводов строк, можно, например, открыть файл в текстовом режиме, чтобы включить трансляцию |r|n. ru.stackoverflow.com