Здравствуйте!
При написании своего WYSIWYG редактора возникла проблема копирования текста из Ворда. Собственно проблем три:
- Ворд вставляет много мусорного html кода, который необходимо чистить
- Для представления списков Ворд почему-то использует параграфы вместо тегов UL и LI
- Собственно как определить, что вставленный текст является вставленным из Ворда.
В общем, для решения этих проблем, был написан jquery-плагин, полный исходный код которого доступен в конце статьи. Пример использования:
$(‘#editor’). msword_html_filter();
Плагин вешается на событие keyup и проверяет, является ли исходный код внутри редактора вставленным из Ворда, если да, то запускается функция очистки. В результирующем html прибивается все что только можно – неразрывные пробелы, атрибуты style и align, теги span, все Mso-классы, пустые параграфы.
Детали реализации под катом.