Ответ 1
Разметка Markdown, BBCode, Textile, MediaWiki - это в основном одна и та же общая концепция, поэтому я бы просто разделил ее на две категории: HTML и разметку текста.HTML
Сделка с HTML - это содержимое уже в "презентабельной" форме для веб-контента. Это замечательно, экономит время обработки, и это легко анализируемый язык. Есть десятки библиотек на любом языке для обработки содержимого HTML, конвертирования в/из HTML в другие форматы и т.д. Основной недостаток заключается в том, что из-за слабых стандартов ранних веб-дней HTML может быть невероятно переменным, и вы можете t всегда зависит от нормального ввода при принятии HTML-кода от пользователей. Как уже отмечалось, уборка или santizing HTML часто бывает очень сложной, особенно потому, что она не выполняет обычные правила разметки, как это делает XML (т.е. Неправильно закрытые теги).
Обычная разметка текста
Эта категория часто используется по следующим причинам:
- Легко разобрать на несколько форм из одного источника - PDF, HTML, RTF
- Содержимое хранится в читаемом обычном тексте (обычно гораздо более легком для чтения, чем необработанном HTML), если необходимо в какой-то более поздний срок, вместо того, чтобы извлекать из HTML
- Выполняет определенные определенные правила, в которых HTML может быть раздражающей переменной и неструктурированной.
- Позволяет принудительно форматировать подмножество форматирования содержимого, что более во многих случаях, чем просто разрешение полного HTML
- В дополнение к форсированию подмножества HTML упрощается дезинфекция ввода и предотвращение проблем с сценарием на разных сайтах и т.д.
- Сохранение "сырых" данных в абстрактном формате означает, что в более поздний срок, если вы, например, хотели конвертировать ваш сайт из HTML 4 в XHTML, вам нужно только изменить код разбора. Благодаря вводу данных в формате HTML вы застряли, и теперь вам нужно преобразовать весь HTML в XHTML отдельно, что, как показывает HTML Tidy, не всегда является простой задачей. Аналогично, если в какой-то момент появляется новый язык разметки или вам нужно перейти в альтернативный формат (RTF, PDF, TeX), абстрагированное ограниченное подмножество вариантов форматирования текста делает эту задачу более простой.
Нижняя строка - это то, для чего используется пользовательский ввод. Если вы планируете хранить данные и, возможно, придется перетасовывать форматы и т.д., Тогда имеет смысл использовать тщательный абстрактный формат для хранения информации. Если вам нужно работать с необработанными данными вручную по любой причине, то бонусные баллы, если этот формат легко читается человеком. Если вы показываете только контент на веб-странице (или документ HTML для отчета и т.д.), И у вас нет проблем с его преобразованием или будущей проверкой, тогда разумная практика заключается в том, чтобы хранить его в HTML.