Я получаю данные от пользователя в форме через PHP на сайте WordPress (адрес специально), и я хочу иметь возможность отображать информацию, которую я собираю, с теми же разрывами строк (отделяя различные компоненты адреса) на другой странице. Он отображается правильно, если я помещаю его в текстовое поле, но если я получу данные и эхо в его div, он не поддерживает разрывы строк. Что я могу сделать?Keep Line Breaks from Textarea
ответ
Используйте, например, <pre>
. Но это будет выглядеть довольно уродливо.
Или заменить разрывы строки с <br/>
HTML сворачивает любое количество пробелов (кроме неразрывного пробела), включая новые линии в единое пространство. Для того, чтобы поддерживать новые линии, вам нужно будет заменить новые линии с <br>
или использовать <pre>
тегов или использовать один из white-space CSS rules designed to control this behaviour.
вы хотите использовать пробельный атрибут CSS http://www.w3schools.com/cssref/pr_text_white-space.asp
Таким образом, вы будете иметь что-то вроде
<p class="whitespace"><?= $input_from_textarea ?></p>
с помощью CSS:
.whitespace {
white-space: pre-wrap;
}
не вручную очистить ваш вход заменяет новые элементы линии тегами разрыва. Это делает ваши данные менее многоразовыми и работает намного больше.
Вы можете использовать функцию php nl2br()
, но это не дает вам такого контроля, как управление отображением через css.
Этот ответ должен быть принят! –
использование nl2br() способ для того, чтобы опозорить ваш. nl2br ($ текста); для более п.л. проверить это http://www.php.net/manual/en/function.nl2br.php
Вы можете использовать echo nl2br($string)
конвертировать \n
в <br>
перерыв HTML строки.
['nl2br()'] (http://php.net/nl2br)? – BlitZ
lol ты потрясающий - я такой n00b на PHP, но мы все должны научиться когда-нибудь! – William