PHP – как создать символ новой строки?

В PHP я пытаюсь создать символ новой строки:

echo $clientid; echo ' '; echo $lastname; echo ' '; echo '\r\n'; 

После этого я открываю созданный файл в «Блокноте» и записывает новую строку буквально:

1 Джон Доу 1 Джон Доу 1 John Doe \ r \ n

Я пробовал много вариаций \r\n , но никто не работает. Почему новая линия не превращается в новую строку?

Только двойные кавычки интерпретируют escape-последовательности \r и \n как «0x0D» и «0x0A» соответственно, поэтому вы хотите:

 "\r\n" 

Одиночные кавычки , с другой стороны, знают только escape-последовательности \\ и \' .

Таким образом, если вы не объедините одну строку с кавычками с разрывом строки, сгенерированным в другом месте (например, используя двойную кавычку "\r\n" или используя chr function chr(0x0D).chr(0x0A) ), единственный другой способ иметь строку перерыв в одной кавычной строке – это буквально ввести ее в свой редактор:

 $s = 'some text before the line break some text after'; 

Не забудьте проверить свой редактор на его параметры разрыва строки, если вам нужна определенная последовательность символов (например, \r\n ).

Для окончательной окончательной строки платформы вы можете использовать предопределенную константу PHP_EOL , как в:

 echo $clientid, ' ', $lastname, PHP_EOL; 

Команда «echo» в PHP отправляет вывод в браузер как необработанный html, поэтому, даже если в двойных кавычках браузер не будет анализировать его на две строки, потому что символ новой строки в HTML ничего не значит. Вот почему вам нужно либо использовать:

 echo [output text]."<br>"; 

при использовании «эхо», или вместо этого используйте fwrite …

 fwrite([output text]."\n"); 

Это приведет к выходу HTML-строки вместо «\ n».

Используйте постоянный PHP_EOL, чтобы получить нужный символ независимо от платформы.

http://us3.php.net/manual/en/reserved.constants.php

Простой пример использования:

 <?php $data = 'First line' . PHP_EOL . 'Second line' . PHP_EOL . 'Third line'; file_put_contents("filename.txt", $data); ?> 

Строки между двойными кавычками "" интерполируют, то есть они преобразуют экранированные символы в печатные символы.

Строки между одинарными кавычками '' являются буквальными, то есть они обрабатываются точно так же, как набираются символы.

Вы можете иметь обе строки в одной строке:

 echo '$clientid $lastname ' . "\r\n"; echo "$clientid $lastname \r\n"; 

выходы:

 $clientid $lastname 1 John Doe 

На самом деле \r\n – для html-стороны вывода. С помощью этих символов вы можете просто создать новую строку в html-коде, чтобы сделать ее более читаемой:

 echo "<html>One line \r\n Second line</html>"; 

выведет:

 <html>First line Second line</html> 

что просмотр страницы будет:

 First line Second line 

Если вы действительно имели в виду это, вам нужно только исправить одну цитату с цитатой «»:

 echo "\r\n"; 

В противном случае, если вы хотите разделить текст, в нашем примере «Первая строка» и «Вторая строка» вы должны использовать код html: <br /> :

 First line<br />Second line 

который будет выводить:

 First line Second line 

Также было бы более читаемым, если бы вы заменили весь скрипт:

 echo "$clientid $lastname \r\n"; 

Вы должны использовать это:

 "\n" 

Вы также можете взглянуть на PHP EOL .

w3school предложила так:

 echo nl2br("One line.\n Another line."); 

используя эту функцию, вы можете это сделать. Я пробовал другие способы, которые говорили выше, но они не помогут мне ..

По какой-то причине каждая отдельная статья, спрашивающая о прохождении новой строки в PHP, не упоминает случай, когда просто вставка новой строки в строки с одним кавычкой будет делать именно то, что вы думаете:

ex 1.

  echo 'foo\nbar'; 

Пример 1 явно не печатает желаемый результат, однако, хотя это правда, вы не можете избежать новой строки в одинарных кавычках, вы можете иметь один:

ex 2.

  echo 'foo bar'; 

Пример 2 имеет желаемое поведение. К сожалению, новая строка, которая вставлена, зависит от операционной системы. Обычно это не проблема, поскольку веб-браузеры / серверы будут правильно интерпретировать новую строку, будь то \ r, \ r \ n или \ n.

Очевидно, что это решение не идеально, если вы планируете распространять файл с помощью других средств, а затем через веб-браузер и несколько операционных систем. В этом случае вы должны увидеть один из других ответов.

Обратите внимание: с помощью полнофункционального текстового редактора вы сможете вставить новую строку в виде двоичного символа, который представляет новую строку в другой операционной системе, чем редактирование файла. Если все остальное не удается, просто используйте шестнадцатеричный редактор для вставки двоичного символа ascii.

Используйте chr (13) для возврата каретки и chr (10) для новой линии

 echo $clientid; echo ' '; echo $lastname; echo ' '; echo chr (13). chr (10); 

Используйте PHP nl2br, чтобы получить символы новой строки в текстовой строке.

$ text = «Ману – хороший мальчик. (Ввод). Он умеет хорошо писать.

echo nl2br ($ text);

Результат.

Ману – хороший мальчик.

Он умеет хорошо писать.

Я также пробовал эту комбинацию как в одиночных кавычках, так и в двойных кавычках. Но никто не работал. Вместо использования \n лучше использовать <br/> в двойных кавычках. Как это..

 $variable = "and"; echo "part 1 $variable part 2<br/>"; echo "part 1 ".$variable." part 2"; 

Для любых выражений эха я всегда использую внутренние двойные кавычки.