Как сделать перенос строк в операторе echo? [дубликат]
Как сделать перенос строк с помощью конструкции echo в php? \n — не работает, хоть и написан в мануале, работает только тег html
. Работаю в Win7 64x, xampp.
Отслеживать
2,057 2 2 золотых знака 24 24 серебряных знака 44 44 бронзовых знака
задан 21 июл 2013 в 0:37
Stee1House Stee1House
557 4 4 золотых знака 13 13 серебряных знаков 30 30 бронзовых знаков
5 ответов 5
Сортировка: Сброс на вариант по умолчанию
Разметка HTML игнорирует переводы строк, за исключением предварительно форматированного текста.
Для переноса строки используйте тэг:
Эта особенность- базовая основа html. Нужно всегда помнить, что внутри текстовых узлов множество подряд следующих пробельных символов будет отображаться как один пробел.
Это поведение можно изменить, как указано выше тэгом pre , либо свойством css white-space: pre .
Подробная информация в справочнике: https://webref.ru/css/white-space
Отслеживать
ответ дан 21 июл 2013 в 1:54
17.9k 3 3 золотых знака 46 46 серебряных знаков 86 86 бронзовых знаков
Спасибо буду знать, html знаю, верстал, просто не хотелось вставлять туда теги) Спасибо за ответ.
21 июл 2013 в 8:45
Для конвертации переносов строк в видимые
в php есть специальная функция:
$text = "Line 1\nLine 2\n"; echo nl2br($text); // Line 1
\nLine 2
\n
Отслеживать
ответ дан 3 мар 2017 в 15:59
27.2k 2 2 золотых знака 45 45 серебряных знаков 76 76 бронзовых знаков
Для тех кто будет читать этот текст через годы. Дополню немного. Нужно различать перевод строки как команду браузера, и перевод строки для оформления исходного текста. Вот про отображение ответили отлично. А про оформление исходного может возникнуть проблемка мелкая. ‘\n’ отобразит в исходнике именно \n т.е. два символа, а «\n» переведёт строку и код страницы будет писаться с новой строки. Пожалуйста самый очевидный пример:
Выведет в исходник в одну строчку все тэги. Что конечно работает, но коллега Вас проклянёт если будет смотреть код без вспомогательных средств. А вот:
аккуратненько разделит список на строчки.
Как сделать абзац в php
Для того, чтобы обернуть каждую строку с помощью функции preg_replace нам понадобится:
Текст в переменной.
Функция «preg_replace». Принцип замены аналогичен выше приведенному пункту, лишь отличается «представление» искомой части — она записывается немного по-другому!
И е забываем начать нашу замену с присоединения начала тега абзаца. И в конце закрыть тег абзаца.
Примерно похожую ситуацию мы рассматривали, когда заменяли перенос на другой тег.
Обернуть строку в абзац с помощью -> цикла
Для того, чтобы каждый абзац обернуть в тег абзаца можно использовать цикл!
Какая разница между заменой переноса в функции и замены переноса в цикле?
Дело в том, что если ваш сайт построен по определенным правилам, то при необходимости можно настраивать форматирование. но это чуть дальше.
Каждую строку в тег абзаца в цикле.
Для того, чтобы обернуть текст и в нём каждую строку в тег абзаца нам понадобится:
Первым шагом, нам нужно превратить текст в массив, для этого нам нужна функция explode ..
Далее. возьмем цикл и в каждом витке оборачиваем абзац в тег абзаца.
И последнее. возвращаем массив в текст. Здесь возможны два варианта :
1). Превращение ячеек массива сразу внутри цикла в текст.
2). Либо — оборачиваем ячейку, а потому уже массив возвращаем в текст(строку) с помощью implode. Рассмотрим оба варианта.
Цикл для оборачивания строки в абзац:
Первый вариант оборачивание каждой строки в абзац в цикле, сразу будем возвращать обернутую строку в новую переменную «$NEW_TEXT».
Вы должным были заметить перед заком равно точку, что означает приклеивание следующей строки следом за предыдущей:
В конце строки не забываем вернуть перенос строки. ведь explode убил перенос в начальном тексте.
$array_text = explode(«\n» , $example);
$NEW_TEXT .= ‘
‘.$array_text[$i].’
‘ . «\n»;
Второй вариант — каждую строку в тег абзаца:
И далее перед нами. задачка : «Найди 3 отличия. «
$array_text = explode(«\n» , $example);
$array_text[$i] = ‘
‘.$array_text[$i].’
‘ . «\n»;
$example = implode(«\n» , $array_text );
О варианте форматирования.
Это довольно обширная тема, но взгляните на некоторые особенности данной страницы. например:
Кнопка скопировать ссылку.
Если бы на данной странице были бы картинки(как на этой), то alt и title у них уникальные в зависимости от абзаца. Это все форматирование происходит в цикле! Php замечательная вещь!
Как сделать абзац в php
Всем привет, у меня есть такая строка:
return $this->N0. ‘ br>‘ .$this->N0eng. ‘ br>‘ .$this->N0ukr;
Мне кажется что это не очень хорошо выглядит, может сформулироваться впечалтелния быдло кода, есть какие то более корректные альтернативы для отступов в php коде?
11.12.2014 — 16:10
Wahtel, да есть и их много
например
11.12.2014 — 16:17
Valick
Ну да, но я имею в виду, есть ли именно php способ, без html.
11.12.2014 — 16:18
Wahtel, нет, никогда не было, и не будет
результатом работы рнр является html код (грубо говоря)
11.12.2014 — 16:26
Valick
Ну окау, просто как то на работе на review, когда смотрели мой код, мне сказали что это вообще не очень круто, что есть другие способы для переноса строки, но это было мое первое review и как то я не осмелился спросить какие именно это способы)
11.12.2014 — 16:31
что сказали хорошо, плохо что не сказали почему
сам по себе
обычный тэг, плохо когда его используют для форматирования самой страницы
11.12.2014 — 16:40
Бредовая идея, но
$string = implode(PHP_EOL, array('line1', 'line2');
echo '', $string, '
';
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
11.12.2014 - 17:11
chee
Не пойдет))) Сказано же:
| Цитата |
| Ну да, но я имею в виду, есть ли именно php способ, без html. |
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.
Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.
Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

11.12.2014 - 17:20
twin, да мне вообще пофиг подойдет или нет.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
11.12.2014 - 17:21
return $this->N0. br().$this->N0eng. br() .$this->N0ukr;
function br()
return "
\n";
>
echo ' ',print_r($var, 1);die;
root@server# make love && war
11.12.2014 - 17:24
kristall, можно глупый вопрос? зачем?
11.12.2014 - 17:26
| Цитата |
| есть какие то более корректные альтернативы для отступов в php коде |
В php нет ни одного способа сделать перенос не средствами html/css, потому, что работу php видно только через html - он создан, чтоб его делать .
Можно как-то поиграть с margin или padding, но это уже извращение. Как уже сказали, тут наиболее приемлимый вариант
. Обычно такой кусок заварачивают в div с классом, чтоб потом через css задавать свойства.
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
11.12.2014 - 17:33
Так отступ это пробел допустим, а br это перенос
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
11.12.2014 - 17:34
| Цитата (Valick @ 11.12.2014 - 17:24) |
| kristall, можно глупый вопрос? зачем? |
Если что-то в коде встречается больше одного раза, то вполне вероятно, что это что-то надо вынести в функцию.
Keep your code DRY.
echo ' ',print_r($var, 1);die;
root@server# make love && war
11.12.2014 - 18:13
kristall
Arh
ABC
chee
twin
Valick
Пацаны, спасибо что уделил внимания, да, надо вынести это в функцию 100%.
У меня к вам один такой вопрос, я сейчас копаюсь в чужом коде, и наткнулся на такую строку:
$gender = $female?1:0;
что означает это ?1:0?)
HTML - Урок 3. Форматирование текста
Для форматирования текста существует много тегов. Одни их них используются часто (и их вы быстро запомните), другие - редко (их и не надо запоминать).
Здесь мы рассмотрим те, которые используются часто.
Теги, делающие текст заголовками
Эти теги выделяют текст в виде заголовков. Т.е. каждый заголовок начинается с новой строки, выделен полужирным шрифтом и имеет свой размер (заголовок первого уровня самый большой, шестого - самый маленький).
Эти теги могут использоваться с параметром горизонтального выравнивания align. Возможные значения этого параметра:
Форматирование html