Как добавить разрыв строки в эхо в PHP? [закрыто]

92

Я пытался добавить разрыв строки для предложения и добавил /n следующий код.

echo "Thanks for your email. /n  Your orders details are below:".PHP_EOL;
echo 'Thanks for your email. /n  Your orders details are below:'.PHP_EOL;

По некоторым причинам в результате я получил ошибку сервера. Как мне это исправить?

Jumax
источник
4
используйте обратную косую черту, это неправильный экранированный символ \n. Но ошибка сервера не связана с этой попыткой, загляните в журнал apache и проверьте __(arg)документацию
Марек Себера
1
Добро пожаловать в Stackoverflow. Пожалуйста, следуйте советам, которые вам необходимо подтвердить, прежде чем размещать какие-либо вопросы. Имейте в виду, что только вы хотите чего-то и спрашиваете себя, как это запрограммировано, само по себе не считается вопросом программирования.
hakre

Ответы:

255

\nэто разрыв строки. /nне является.


использование \nс

1. эхо прямо на страницу

Теперь, если вы пытаетесь отобразить строку на странице:

echo  "kings \n garden";

вывод будет:

kings garden

вы не попадете gardenв новую строку, потому что PHP - это серверный язык, и вы отправляете вывод в формате HTML, вам необходимо создавать разрывы строк в HTML. HTML не понимает \n. Для этого вам нужно использовать nl2br()функцию.

Что он делает:

Возвращает строку с символом новой строки <br />или <br>вставленную перед всеми символами новой строки (\ r \ n, \ n \ r, \ n и \ r).

echo  nl2br ("kings \n garden");

Выход

kings
garden

Примечание. Убедитесь, что вы выводите / печатаете \nв двойных кавычках, иначе это будет отображаться буквально как \ n. потому что интерпретатор php анализирует строку в одинарных кавычках с концепцией как есть

so "\n" not '\n'

2. записать в текстовый файл

Теперь, если вы выводите эхо в текстовый файл, вы можете использовать его просто, \nи он будет выводиться на новую строку, например:

$myfile = fopen("test.txt", "w+")  ;

$txt = "kings \n garden";
fwrite($myfile, $txt);
fclose($myfile);
 

вывод будет:

kings
 garden
NullPoiиteя
источник
1
В дополнение к вышеизложенному. Это работает - пример -> echo "<html>". "\ N"; или эхо "сад королей". "\ n"; который добавляет разрыв строки после первой строки. Google привел меня сюда, когда я хотел добавить разрывы строк после эха.
MarcoZen 03
18

Вы должны использовать br при использовании эха, например:

echo "Thanks for your email" ."<br>". "Your orders details are below:"

и он будет работать правильно

Марьям Хомаюни
источник
1
Это не сработает для html-документов
MarcoZen
1
Это не сработает, если вы повторяете их в языковом файле на стороне php / сервера
MarcoZen
13

Символ новой строки выглядит \nтак:

echo __("Thanks for your email.\n<br />\n<br />Your order's details are below:", 'jigoshop');
Ноэтикс
источник
Какой префикс __(два символа подчеркивания)?
Питер Мортенсен
1
@PeterMortensen Это функция в некоторых фреймворках PHP для поддержки интернационализации. В исходном посте он использовался, поэтому я добавил его в свой ответ.
noetix 08
2

Вы можете попробовать \ r \ n для возврата каретки / перевода строки

Джонатан
источник
Проблема , кажется, слэш, /nпротив \n.
Питер Мортенсен