Я получаю информацию от пользователя в форме через PHP на сайте WordPress (адрес специально), и я хочу, чтобы иметь возможность отображать информацию, которую я собираю, с теми же разрывами строк (разделяя различные компоненты адреса) на другая страница. Он отображается правильно, если я помещаю его в текстовое поле, но если я получу данные и эхо в его div, он не поддерживает разрывы строк. Что я могу сделать?
вы хотите использовать атрибут 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.
Вы можете использовать echo nl2br( $string)
для преобразования \n
в разрыв строки HTML.
HTML сворачивает любое количество пробелов (кроме нераспадающегося пространства), включая новые строки в одно пространство. Чтобы поддерживать новые строки, вам нужно будет заменить новые строки на <br>
или использовать теги <pre>
или использовать одно из правил CSS с белым пространством, предназначенное для управления этим поведением.
Например, используйте <pre>
. Но это будет выглядеть довольно уродливо.
Или замените разрывы строк на <br/>
используйте метод nl2br (), чтобы пропустить ваш. nl2br ($ текста); для получения дополнительных запросов проверьте это http://www.php.net/manual/en/function.nl2br.php