Отображать отформатированные абзацы в Laravel 5.8

Я пытаюсь создать блог, и я застрял на чем-то.

Когда я добавляю пост, я добавляю пробелы и блоки текста, такие как абзацы, и я хочу, чтобы они отображались точно в том же виде, в каком они были написаны.

например:

"*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"

Как я могу это сделать? Спасибо

Вам нужно будет либо добавить предварительные теги вокруг текста (на самом деле не рекомендуется), либо заменить ввод и т. д. Правильными тегами.

Terry 18.03.2019 15:01

Когда вы dd($text), что вы видите? Вы видите многострочные теги?

senty 18.03.2019 15:03

Я собираюсь сделать предположение, что вы пишете в <textarea> и визуализируете сохраненный вывод в файле шаблона блейда или просто возвращаете его в качестве ответа на запрос. Если это так, вам, вероятно, просто нужно использовать что-то вроде nl2br($value).

Bogdan 18.03.2019 15:03

Также при написании вопроса предоставьте фрагменты кода, относящиеся к вашей конкретной проблеме, потому что вы не получите много ответов, если люди не получат достаточно информации о вашей проблеме.

Bogdan 18.03.2019 15:04

Вы можете использовать HTML-тег <pre> для отображения предварительно отформатированного текста.

Ajay Makwana 18.03.2019 15:08

Спасибо, @Богдан! Оно работало завораживающе. Буду внимательнее в следующий раз, когда спрошу, ура!

Cicharito 18.03.2019 15:19
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
6
1 860
2

Ответы 2

Один из подходов — добавить на страницу простой 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!!}

Другие вопросы по теме