Задать вопрос
@nimfai
Full stack developer

Как вывести превью статьи не нарушив форматирование?

Добрый день.
Встал такой вопрос, даже как то стыдно спрашивать, но я в ступоре.
В БД сохраняется статья. Скажем:
<p>Some text here...</p>
<p>Some text here...</p>
<p>Some text here...</p>
<p>Some text here...</p>

и так далее. В каждом абзаце, соответственно, может быть любо кол-во символов/слов.
Вопрос собственно в том, как вывести превью этой статьи на главной? Например я хочу выводить первые 600 символов. Проблем нет. Но при выводе ломается вёрстка, так как некоторые теги, в нашем примере тег р, не закрываются.
Подскажите, как решается данная проблема? Как уже говорил стыдно такое спрашивать, но идей пока нет...
  • Вопрос задан
  • 350 просмотров
Подписаться 2 Оценить 2 комментария
Решения вопроса 1
gubin_niko
@gubin_niko
Добавляйте разделитель при написании статьи. Многие редакторы имеют под капотом кнопку, которая вставляет маркер, по которому можно "отпилить" превью, а там, где нужна полная статья, маркер просто удаляется. Но так вы не сможете контролировать максимальное количество символов.

Маркером называю условный комментарий внутри вёрстки, например <!--cut-here-->

update:
Но так вы не сможете контролировать максимальное количество символов.
Написал чепуху, ибо сможете конечно контролировать символы, проверяя именно этот участок, предварительно вычистив теги. А так же можно и теги определённые на этом участке запретить.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
Вырезаете все теги -> Отрезаете 500 символов -> Обрамляете в ... -> Выводите.
Только так, раз уж отдельное поле под короткое описание не сделали.

PS. Есть ещё вариант отрезать текст, потом проходить по нему с поиском открытых тегов и дописывать к нему соответствующий закрывающий.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы