Intereting Posts

PHP: попытка создать новую строку с помощью "\ n"

Я пишу это:

echo "foo"; echo "\n"; echo "bar"; 

и "bar" не записывается в строке ниже.

Что я делаю не так?

Javi

Новые строки в HTML выражаются через, а не через \n .

Использование \n в PHP создает новую строку в исходном коде, а макет исходного кода HTML не связан с макетом экрана HTML.

Если вы хотите написать простой текст, вы должны убедиться, что для типа содержимого установлено значение Content-Type: text/plain . Пример:

 header('Content-Type: text/plain'); 

Если вы имеете дело с HTML, у вас есть два варианта. Один из них – вставить новую строку, используя (или <br /> для XHTML). Другой – положить обычный текст в элемент <pre> (в этом случае «pre» означает preformatted).

Если вы хотите, чтобы новый строковый символ был вставлен в обычный текстовый поток, вы могли бы использовать независимый от ОС глобальный PHP_EOL

 echo "foo"; echo PHP_EOL ; echo "bar"; 

В HTML-терминах вы увидите новую строку между foo и bar, если будете смотреть на исходный код страницы.

ergo, полезно, если вы выставляете say, цикл значений для поля выбора, и вы получаете исходный код html, который «красивее» или более легко читается для вас позже. например

 foreach( $dogs as $dog ) echo "<option>$dog</option>" . PHP_EOL ; 

PHP генерирует HTML. Вы можете:

 echo "foo"; echo "<br />\n"; echo "bar"; 

если в тексте есть символы новой строки, используйте функцию nl2br php:

 <?php $string = "foo"."\n"."bar"; echo nl2br($string); ?> 

Это должно хорошо выглядеть в браузере

Предполагая, что вы просматриваете вывод в веб-браузере, у вас есть как минимум два варианта:

  1. Окружать текстовый блок с помощью инструкций <pre>

  2. Измените свой \n на тег HTML ( <br/> также и сделайте)

Поскольку он не упоминался, вы также можете использовать свойство white-space CSS

 body{ white-space:pre-wrap; } 

Что говорит браузеру сохранять пробелы, чтобы

 <body> <?php echo "hello\nthere"; ?> </body> 

Будет отображаться

 hello there 

Мы можем использовать \ n как новую строку в php.

Фрагмент кода:

  <?php echo"Fo\n"; echo"Pro"; ?> 

Вывод:

Fo
профессионал

Он будет записан на новой строке, если вы изучите исходный код страницы. Если вы хотите, чтобы он появлялся на новой строке, когда он отображается в браузере, вместо этого вы должны использовать тег <br /> .

Это отлично работает для меня …

 echo nl2br("\n"); 

Ссылка: http://www.w3schools.com/php/func_string_nl2br.asp

Надеюсь, поможет 🙂

 echo "foo<br />bar"; 

Мы можем применить \n в php, используя два типа

  1. Использование CSS

     body { white-space: pre-wrap; } 

    Что говорит браузеру сохранять пробелы, чтобы

     <body> <?php echo "Fo\n Pro"; ?> </body> 

    Результат:

    Fo
    профессионал

  2. Используя nl2br

    nl2br : Вставляет разрывы строк HTML перед всеми символами новой строки в строке

     <?php echo nl2br("Fo.\nPro."); ?> 

    результат

    Fo.
    Pro.