Я пытаюсь создать блог, и я застрял на чем-то.
Когда я добавляю пост, я добавляю пробелы и блоки текста, такие как абзацы, и я хочу, чтобы они отображались точно в том же виде, в каком они были написаны.
например:
"*Lorem ipsum lorem ipsumipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum
lorem ipsum lorem ipsum lorem ipsum lorem ipsum* "
отображается как одна строка:
"lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum"
Как я могу это сделать? Спасибо
Когда вы dd($text), что вы видите? Вы видите многострочные теги?
Я собираюсь сделать предположение, что вы пишете в <textarea> и визуализируете сохраненный вывод в файле шаблона блейда или просто возвращаете его в качестве ответа на запрос. Если это так, вам, вероятно, просто нужно использовать что-то вроде nl2br($value).
Также при написании вопроса предоставьте фрагменты кода, относящиеся к вашей конкретной проблеме, потому что вы не получите много ответов, если люди не получат достаточно информации о вашей проблеме.
Вы можете использовать HTML-тег <pre> для отображения предварительно отформатированного текста.
Спасибо, @Богдан! Оно работало завораживающе. Буду внимательнее в следующий раз, когда спрошу, ура!






Один из подходов — добавить на страницу простой CSS. Добавьте имя класса в тег HTML-обертки:
<div class = "class-name">
*Lorem ipsum lorem ipsumipsum lorem ipsum lorem ipsum lorem ipsum lorem
ipsum lorem ipsum lorem ipsum lorem ipsum
lorem ipsum lorem ipsum lorem ipsum lorem ipsum*
</div>
И добавьте следующий CSS:
.class-name {
white-space: pre-wrap;
}
предварительная упаковка позволяет:
Sequences of white space are preserved. Lines are broken at newline characters, at < br>, and as necessary to fill line boxes.
В то время как по умолчанию, нормальный, является следующим:
Sequences of white space are collapsed. Newline characters in the source are handled the same as other white space. Lines are broken as necessary to fill line boxes.
Вы можете прочитать больше об атрибуте пробела здесь.
Кроме того, вы можете использовать HTML-тег <pre> для достижения аналогичного результата.
The HTML element represents preformatted text which is to be presented exactly as written in the HTML file. The text is typically rendered using a non-proportional ("monospace") font. Whitespace inside this element is displayed as written.
Вы можете использовать инструмент WYSIWYG, такой как CKFinder или Summernote, и сохранить html в своей базе данных. Тогда рендери {!!$post->text!!}
Вам нужно будет либо добавить предварительные теги вокруг текста (на самом деле не рекомендуется), либо заменить ввод и т. д. Правильными тегами.