По какой-то причине в каждом посте, спрашивающем о переводе новой строки в PHP, не упоминается случай, когда простая вставка новой строки в строки в одинарных кавычках будет делать именно то, что вы думаете:
пример 1
echo 'foo\nbar';
Пример 1 явно не печатает желаемый результат, однако, хотя это правда, что вы не можете экранировать символ новой строки в одинарных кавычках, вы можете иметь один:
пример 2
echo 'foo
bar';
Пример 2 имеет точно желаемое поведение. К сожалению, добавленная новая строка зависит от операционной системы. Обычно это не проблема, поскольку веб-браузеры / серверы правильно интерпретируют новую строку, будь то \ r, \ r \ n или \ n.
Очевидно, что это решение не идеально, если вы планируете распространять файл с помощью других средств, а не через веб-браузер и на несколько операционных систем. В этом случае вы должны увидеть один из других ответов.
примечание: с помощью многофункционального текстового редактора вы сможете вставить новую строку в виде двоичных символов, которые представляют новую строку в операционной системе, отличной от той, которая редактирует файл. Если ничего не помогает, достаточно использовать шестнадцатеричный редактор для вставки двоичного символа ascii.