Честно говоря, разрешение пользователям использовать WYSIWYG Html-редакторы может звучать хорошо, но на практике это не очень хорошо работает как для пользователей, так и для разработчиков. Причины:
- Все еще слишком различное поведение в разных браузерах.
- Белый список позволяет защитить сайт, но в итоге пользователи будут звонить и просить разрешить другой параметр для тега OBJECT или аналогичного. Черные списки просто не защищены.
- Не многие пользователи знают, что такое HTML-тег.
- Пользователям сложно форматировать текст (как вы можете сказать им, чтобы они использовали заголовок вместо BOLD + FONT-SIZE).
- Как правило, это довольно болезненно, и вы не можете реально изменить дизайн сайта, если это необходимо, поскольку пользователи неправильно используют HTML.
Если бы я сейчас делал CMS-подобную систему, я бы, вероятно, пошел с семантической разметкой.
Большинство пользователей быстро привыкают к этому, и это просто текст (как здесь, в SO).
Также вы можете генерировать правильный HTML и поддерживать необходимые теги.
Например, если вам нужно встроить картинку, вы можете написать что-то вроде:
Мое лицо: изображение- http://here.there/bla.gif
Что бы сгенерировать для вас HTML следующим образом:
<a class='image-link' title='My Face' href='http://here.there/bla.gif'>
<img alt='My Face' src='http://here.there/bla.gif' />
</a>
Существует множество языков разметки, поэтому просто выберите тот, который вам больше подходит, и добавьте свои собственные модификации.
Например, GitHub использует модифицированный markdown
, а код для его анализа - это просто пара строк.
Одним из недостатков является то, что пользователям необходимо изучать язык, и это НЕ WYSIWYG.
С уважением,
Дмитрий.