Если вы кодируете WYSIWYG-редактор, то это (почти наверняка) будет сделано в Javascript, и вам не придется беспокоиться о том, как отформатированный текст из Microsoft Word представляется до его вставки, потому что вы не будете в любом случае иметь доступ к этому.
Однако вам нужно будет позаботиться о том, как оно будет отображаться в HTML, когда пользователь нажимает кнопку вставки, а браузер запрашивает и обрабатывает это и вставляет результат в элемент ContentEditable / DesignMode как узлы HTML.
В значительной степени то, насколько хорошо он отформатирован в HTML, зависит от того, насколько хорошо он отформатирован в Word. Как мы знаем, в Word легко быть несемантическим, используя раскрывающийся список размера шрифта вместо изменения стилей абзаца, используя маркеры, а не фактические маркированные или нумерованные списки и т. Д. Если вы полагаетесь на маркированные списки, становящиеся Для правильных неупорядоченных списков HTML вам нужно надеяться, что тот, кто добавил их в Word, добавил их с помощью функции списка, иначе вам придется выполнить более сложную обработку, чтобы сделать иначе.
На конечный результат может также влиять то, какой браузер использует пользователь, находится ли он в режиме причуд, и какую версию Word они используют. Кроме того, один и тот же документ, открытый в OpenOffice, будет по-разному вставляться в HTML в браузере. Вам нужно будет использовать универсальный HTML-фильтр и дезинфицирующее средство на стороне сервера.
Кроме того, вы, вероятно, захотите отфильтровать, как минимум, следующее из результирующего HTML (если вы не заинтересованы в сохранении любого пользовательского стиля, добавленного пользователем, независимо от его пригодности для Интернета):
- Условные комментарии для IE. Иногда они в конечном итоге в HTML
- Любые встроенные стили, включая атрибут
style=
, элементы <style>
и т. Д.