Способы переноса строк в PHP

Количество просмотров: 765

Во многих учебниках php при разговоре о переносе строк часто приводят следующий код в качестве примера.


<?php
echo "Строка  \n\n";
echo "Строка";
?>

Спец-символ \n говорит о сдвиге курсора вниз, т.е. о переводе строки. Однако запустив приведенный выше код мы получим, то, что изображено на скриншоте снизу, а именно никакого перевода не будет и текст расположиться в одну строку.

Почему так спросите вы? Как браузер осмелился меня ослушаться? Тут все очень просто, для браузера важны теги, и для разрыва строк используется тег <br>.

Проще говоря, данный символ отработал в php и в исходном коде страницы перенос есть, достаточно нажать ctrl+u и посмотреть исходный код страницы. Там мы увидим, что все верно и перенос есть.

Мы можем приказать браузеру выводить информацию так как есть, сохраняя все пробелы и переводы строк. Для этого обернем код в тег <pre>


<pre>
<?php
echo "Строка  \n\n";
echo "Строка";
?>
</pre>

Так же можно использовать html тег <br> или использовать кросплатформенную константу PHP_EOL однако так же только в теге pre, для <br> pre уже не нужен.


<?php
echo "Строка<br>";
echo "Строка".PHP_EOL;
echo "Строка";
?>

И навреное последний способ это прогнать строку с символами разделителями типа \n \r и тд. через функцию nl2br() которая вернет строку с замененными символами переноса на тег <br>.

© 2015-2018 Goodweb.me --- Карта сайта --- info@goodweb.me

Наверх