Как начать новую строку HTML из PHP? - PullRequest
7 голосов
/ 15 января 2011

Это код внутри моего цикла PHP:

echo 'Name: ' . $name . '<br/>';

Как заставить PHP начинать новую строку HTML с каждой итерацией цикла (вместо того, чтобы печатать все в одной строке HTML)?

Ответы [ 5 ]

22 голосов
/ 15 января 2011

Вы должны включить символы новой строки в ваш вывод.Таким образом:

echo 'Name: ' . $name . "<br/>\n";

Обратите внимание на двойные кавычки, которые необходимы для того, чтобы экранированный символ \ n отображался как символ новой строки вместо литерала \ n.

Еще один полезный символ перехода - \ tкоторый вставляет вкладки в ваш вывод.

Наконец, как несвязанный совет, быстрее передать несколько строк в echo с запятыми вместо точек, например:

echo 'Name: ', $name ,"<br/>\n";

Thisпотому что использование точки заставляет PHP выделить новый строковый буфер, скопировать все отдельные строки в этот буфер и затем вывести эту объединенную строку;тогда как запятая заставляет PHP просто выводить строки одну за другой.

6 голосов
/ 15 января 2011

Используйте символ новой строки в двойных кавычках "\n". Сингл не сработает.

6 голосов
/ 15 января 2011

попробуйте это:

echo 'Name: ' . $name . '<br/>'."\n";

\ n - символ новой строки, если в двойных кавычках.

0 голосов
/ 10 января 2018

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

$count1 = '1';
$count2 = '2';
/* Note the opening single quote in the next line of code is closed on
the following line, so the carriage return at the end of that line is
part of the string */
echo '<table>
    <tr><td>This is row</td><td>' , $count1 , '</td><td>and</td></tr>
    <tr><td>this is row</td><td>' , $count2 , '</td><td>&nbsp;</td></tr>
</table>';

будет выводить

This is row 1   and
this is row 2    

как выя ожидаю, но исходный код будет представлен как:

<table>
    <tr><td>This is row</td><td>1</td><td>and</td></tr>
    <tr><td>this is row</td><td>2</td><td>&nbsp;</td></tr>
</table>

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

0 голосов
/ 15 января 2011

Я считаю, что использовать одинарные кавычки проще, чем использовать. "\ N" например, используя

echo 'text'.$var.'<br />
next line';

символы новой строки отображаются, если они заключены в одинарные кавычки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...