| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Тексты > Хранение и вывод новости |
| Автор: BIG BROTHER 13.1.2006, 23:20 | ||
| Есть текст новости. Идея такова - есть 2 "версии" новости - короткая и полная. Короткую выводим в списке новостей, полная - при клике на "Подробнее" Собственно проблема, не проблема, а загвоздка в том как хранить эти 2 "версии". Все это усугубляется тем, что текст новости - HTML код. Раньше делал так: 2 поля в базе - полная(вся новость минус начало, что ушло в короткую) и короткая, а при постинге новости делал вот что:
Но при таком подходе может происходить "разрыв" HTML тегов и открывающий оказывается в короткой, а закрывающий в конце. При показе полной версии это еще ничего, а вот в списке новостей дизайн всей страницы может просто сорвать. Подскажите ваши соображения по этому вопросу... |
| Автор: TIGERоX 14.1.2006, 01:27 |
| Лично я храню самари в отдельном поле а содержание в др. в конце ссылка читать далее и открываем содержание |
| Автор: Mal Hack 14.1.2006, 01:41 |
| Хранить одну большую версию, а при выводе резать. Я вообще сторонник такой политики. Храним и хтмл код и всю новость в бб-кодах. Режем на главной из бб кодов, выводим полную из html. |
| Автор: BIG BROTHER 14.1.2006, 17:04 |
| У меня в принципе нет BB-кодов - у меня приходит HTML прям из формы. Так как быть с разрывом тегов при резке на короткую и полную? из короткой пролностью убрать HTML код? Но это помоему не совсем правильно |
| Автор: Mal Hack 14.1.2006, 19:03 |
| Читаем полную новость, режем весь html, обрезаем текст и показываем. Если структура текста - имеет какие-то шаблонные формы, то можно отталкиваться от нее. |
| Автор: BIG BROTHER 15.1.2006, 12:42 | ||
Что ты имеешь ввиду? |
| Автор: Mal Hack 15.1.2006, 12:47 |
| Ну к примеру резать первый абзац по <p></p> |
| Автор: Illuminaty 15.1.2006, 15:00 |
| Я делаю так: При вводе текста делаю два поля: одно для препросмотра, другое для остального текста. Все хранится в разных полях таблицы. При просмотре всего текста - соединяем содержимое двух полей в один текст. Если резать текст по какому-нибудь критерию, можно нарушить логику текста. Прервать изложение на полуслове, к примеру. Да пользователи при таком вводе организуют текст более грамотно. Выносят содержание новости в начало, что облегчает пользователям сайта ориентироваться в текстах. |
| Автор: IZ@TOP 16.1.2006, 02:39 |
| Мне нравится вариант Mal-Hack'a. В данный момент сам юзаю на сайте несколько вариантов. В некоторых случаях достаточно вырезать по определенному количетву слов. |
| Автор: Mal Hack 16.1.2006, 19:25 |
| Я ообще делал так. Резал по абзацам, которые укладывались в энное кол-во символов, затем по предложениям, затем по словам... |
| Автор: IZ@TOP 16.1.2006, 22:30 |
| Mal Hack, в идеале конечно следует делать интересное описание для чего-то, а основной текст отдельно. Так сказать вступление. Но тут играет немаловажную роль что порой текста идут без этих самых вступлений а юзерам очень лень их писать... |