я пишу это:
echo "foo";
echo "\n";
echo "bar";
и "панель" не записана в строке ниже.
Что я делаю неправильно?
Javi
Новые строки в HTML выражаются через
, а не через
\ n
.
Использование \ n
в PHP создает новую строку в исходном коде, а макет исходного кода HTML не связан с макетом экрана HTML.
Если вы хотите, чтобы новый строчный символ был вставлен в поток обычного текста, вы можете использовать независимый от ОС глобальный PHP_EOL
echo "foo";
echo PHP_EOL ;
echo "bar";
В терминах HTML вы увидите новую строку между foo и bar, если посмотрите исходный код страница.
Таким образом, это полезно, если вы выводите, скажем, цикл значений для поля выбора и цените исходный код html, который «красивее» или легче читать для себя позже. например
foreach( $dogs as $dog )
echo "<option>$dog</option>" . PHP_EOL ;
Он будет записан с новой строки, если вы изучите исходный код страницы. Если вы хотите, чтобы он отображался в новой строке при отображении в браузере, вам следует использовать вместо него тег
.
если в вашем тексте есть символы новой строки, используйте функцию nl2br php:
<?php
$string = "foo"."\n"."bar";
echo nl2br($string);
?>
Это должно хорошо выглядеть в браузере
PHP генерирует HTML. Вам может понадобиться:
echo "foo";
echo "<br />\n";
echo "bar";
Если вы хотите написать простой текст , необходимо убедиться, что тип содержимого установлен на Content-Type: text / plain
. Пример:
header('Content-Type: text/plain');
Если вы имеете дело с HTML, у вас есть два варианта. Один из них - вставить новую строку, используя
(Или
для XHTML). Другой - поместить простой текст в элемент
(в этом случае «pre» означает предварительно отформатированный).
Предполагая, что вы просматриваете вывод в веб-браузере, у вас есть как минимум два варианта:
Окружите текстовый блок инструкциями
Измените свой \ n
в тег HTML
(
также подойдет)