Как организовать редактирование статей и хранение в БД на сайте

Объясните пожалуйста, как работают современные сайты со статьями, которые пишут пользователи, которые потом сохраняются в базу. Я предполагаю, что статьи редактируются во встроенных в сайт редактором (например, этот вопрос я пишу в таком редакторе). Насколько я знаю, он форматирует текст с помощью Markdown. В связи с этим у меня есть несколько связанных вопросов:

  1. Как установить общий стиль для такого текста? Если стиль сайта будет меняться (Например, каждый заголовок нумеруется по порядку и т.п., или блоку цитаты я захочу задать другой стиль)
  2. Как запретить встраиваемый код в текст редактора (чтобы не было возможности различных иньекций в код)? Область отображения статьи должна специальным образом парсить текст так, чтобы он воспринимался как текст, а не как часть сайта)... Через регулярки и разбор текста перед записью на сервер?
  3. Есть ли уже готовые бесплатные решения подобного рода, или необходимо писать собственный парсер?

Если эти проблемы решить, то, как я предполагаю, можно хранить такой текст в базе данных.

Как я это себе представляю сейчас: в телеграме сообщения форматируются с помощью markdown. Но там и не написать какой-нибудь встаиваемый код, т.к. сообщение - это отдельный объект, а не страница html с кучей наворотов и бессвязных дополнений. В базе, текст таких сообщений хранится в виде разметки, которая специальным образом преобразуется для отображения. С сайтами сложнее. Если разрешить пользователям писать текст в формате HTML, то может возникнуть риск встраиваемого кода (например, javaScript, или собственные стили для элементов). Markdown не парсится HTML... Предполагаю, что такая разметка с помощью какого-то движка конвертируется в HTML.

Пожалуйста, дайте наводки на технологии и темы, которые можно рассмотреть для изучения данного вопроса. Спасибо!


Ответы (0 шт):