Ввод текстового поля предварительно отформатирован, что означает, что он будет показывать любые новые строки, которые вводит пользователь. Тем не менее, HTML-рендеринг (веб-браузер) не отображает никаких строк строки из ввода, если только строки новой строки не были явно вставлены с такими тегами, как <BR>
.
У вас есть несколько вариантов здесь. Наверняка эти три не являются вашими единственными опциями, но именно те, которые я лично использовал чаще всего.
Форма текстовое поле с предварительно отформатированный текст
Если вы хотите отобразить данные (objekttekst) в аналогичном текстовое поле, где был дан вход, вы можете сделать:
<h2><?=$objekttittel?></h2>
<p><textarea><?=$objekttekst?></textarea></p>
Это вам подойдет лучше всего в ситуации, когда пользователю нужна возможность редактировать запись.
Preformatting
Если вы хотите, чтобы отобразить текст, как это, вы всегда можете окружить его <PRE>...</PRE>
. Это покажет любые новые строки, отступы и т. Д. Обратите внимание, что это приведет к использованию шрифта фиксированной ширины, такого как Courier New.
Преобразовать символы новой строки в <BR>
теги
Использование функции nl2br()
как уже упоминалось в другом ответе. См.: http://php.net/manual/en/function.nl2br.php для получения дополнительной информации.
Дополнительное примечание ...
Вы можете посмотреть в регулярных выражений, как и во многих случаях вы можете захотеть сделать также некоторые другие изменения в данных, прежде чем показывать его на странице HTML. nl2br()
позаботится о переводах новой строки, но для других и более сложных модификаций вы должны изучить регулярные выражения.
' "\\ г \\ п"' заменяемый буквально '\ г \ n' к '
', а не то, что '\ r \ n', потому что вы избегаете escape-символа. – Havenard
http://stackoverflow.com/q/9457835/67332 –