Я пытаюсь разработать веб-приложение (php / mysql), своего рода блог-сайт, где ~ 10 сообщений перечислены на первой странице. Отображаются только первые 4-5 строк каждого сообщения, и когда пользователь щелкает заголовок, он открывает новую страницу с полным отображением сообщения.
Пользователи будут использовать TinyMCE для публикации с очень ограниченными функциональными возможностями, поэтому только списки жирным шрифтом, курсивом, подчеркиванием, отменой / повтором и маркированными списками. Нет просмотра HTML, ссылок и изображений, так что ничего особенного.
Теперь, когда задействованы два отображения одних и тех же сообщений, то есть на первой странице, где отображается только часть, и полная версия, я не уверен, что мне следует:
когда пользователь отправляет сообщение, я должен очистить его с помощью чего-то вроде HTMLPurifier и сохранить одну полную версию в базе данных. Затем отрежьте первые 4-5 строк и снова очистите его с помощью HTMLPurifier, чтобы убедиться, что все теги закрыты правильно. Это сделано для того, чтобы текст, который я вырезал, не заканчивался HTML-тегом, разрезанным пополам, а был верным (x) HTML-кодом, правильно закрытым. Я бы снова сохранил эту сокращенную версию главной страницы где-нибудь в базе данных. Таким образом, у меня будет две версии в готовой базе данных, полная версия поста и сокращенная версия на первой странице. Затем, когда кто-то заходит на сайт и показывает первую страницу с 10 сообщениями, их просто нужно прочитать из базы данных и отобразить. Не нужно читать полную версию, обрезать ее верх, проверять, чтобы все теги были правильно закрыты и т. Д. И т. Д. Для всех 10 сообщений каждый раз, когда кто-то открывает сайт. Кажется очевидной проблемой то, что часть контента удваивается в базе данных, поэтому полная версия и короткая версия.
Другой вариант, о котором я думал, это когда пользователь отправляет сообщение, очищает его с помощью HTMLPurifier и сохраняет только полную версию в базе данных. Затем, когда кто-то заходит на сайт, обрежьте верхнюю часть каждого поста в блоге, очистите его с помощью HTML-очистителя (снова!), Чтобы убедиться, что все он действителен, теги закрыты и т. Д. И отображаются на первой странице. Теперь кажется, что проблема заключается в том, что HTMLPurifier должен запускаться и очищаться каждый раз, когда кто-то получает доступ к короткой версии сообщения, например, 10x за фасад для каждого посещения и т. Д.
Я использовал приведенный выше HTMLPurifier только в качестве примера, так как я уверен, что есть другие инструменты, которые делают то же самое, поэтому, пожалуйста, посоветуйте, если что-нибудь еще будет более подходящим в моей ситуации. Также я, возможно, позволю пользователям отображать более 10 сообщений на странице.
Хорошо, я уверен, что есть какой-то общий шаблон для работы с такого рода сайтами, и если да, то, пожалуйста, дайте мне представление о том, как это сделать, так как моя мысль, приведенная выше, кажется, имеет много очевидных проблем. Как всегда, ваша помощь очень ценится.
РЕДАКТИРОВАТЬ: Я должен был уточнить .. Это больше похоже на упражнение для меня, и я хотел узнать, как этот сайт должен быть сделан. Та же концепция может быть реализована на других сайтах, так что реклама, форумы и т. Д. Все, что с размещением действительно. Для ведения блога я мог бы использовать что-то готовое, но на этот раз я хотел научиться.