PHP для очистки вставил ввод Microsoft

У меня есть сайт, где пользователи могут публиковать материалы (например, на форумах, в комментариях и т. Д.), Используя индивидуальную реализацию TinyMCE. Многим из них нравится копировать и вставлять из Word, что означает, что их ввод часто сопровождается множеством встроенного форматирования MS.

Я не могу просто избавиться от<span whatever> поскольку TinyMCE использует тег span для своего форматирования, и я не могу (и не хочу) заставлять указанных пользователей использовать функцию «Вставить из Word» в TinyMCE (которая в любом случае не очень хорошо работает) ,

Кто-нибудь знает библиотеку / класс / функцию, которая позаботится об этом для меня? Должно быть, это общая проблема, хотя я не могу найти ничего определенного. Недавно я подумал, что ряд регулярных выражений грубой силы, ищущих паттерны, специфичные для MS, могут сработать, но я не хочу переписывать то, что уже может быть доступно, если я не должен.

Кроме того, исправление фигурных кавычек, тире и т. Д. Было бы хорошо. У меня есть свои собственные вещи, чтобы сделать это сейчас, но я действительно хотел бы найти один фильтр MS-преобразования, чтобы управлять ими всеми.

Ответы на вопрос(2)

Решение Вопроса

Очиститель HTML создаст совместимую со стандартами разметку и отфильтрует множество возможных атак (таких как XSS).

Для более быстрой очистки, которая не требует фильтрации XSS, я использую расширение PECLАккуратный который является обязательным дляАккуратный HTML полезность.

Если это не помогает, я предлагаю вам перейти на FCKEditor, который имеет эту функциювстроенный.

 Eran Galperin19 дек. 2008 г., 00:02
Тогда я предлагаю вам переключиться на fckeditor, который может заниматься вводом слов. Обновил мой ответ.
 Kaivosukeltaja20 мар. 2012 г., 12:50
Также обратите внимание, что FCKEditor больше не поддерживается и будет иметь проблемы с современными браузерами, поэтому вы должны вместо этого использовать CKEditor.ckeditor.com
 da5id19 дек. 2008 г., 00:21
Имейте в виду, (если я переключусь), мне все еще нужно вычистить все это дерьмоуже был опубликован ...
 da5id19 дек. 2008 г., 00:19
Хм. Ранее я предпочитал TinyMCE, а не FCKeditor по ряду других причин, но это может повлиять на меня. Спасибо за совет и рад принять мой +1 :)
 da5id18 дек. 2008 г., 22:48
Спасибо, но ни один из них, похоже, не справляется с форматированием MS, что меня в первую очередь интересует. В HTML Purifier это запланировано для версии 3.5, но с "необходимыми исследованиями".
 Jon L.13 апр. 2012 г., 16:56
Просто отметим, что Tidy действительно справляется с форматированием MS и работает уже много лет. Я использовал 4-5 лет назад, чтобы раздеть вставленный контент MS Word ...tidy.sourceforge.net/docs/quickref.html#word-2000
 Eran Galperin19 дек. 2008 г., 02:59
Попробуйте не PHP предложения по следующей ссылке -forums.devarticles.com/general-programming-help-4/...

http://word2cleanhtml.com/ делает хорошую работу по конвертации из Word. Я использую его в PHP путем списания, чтобы обработать некоторый устаревший HTML, и до сих пор он работает довольно хорошо (результат очень чистый<p>, <b> код). Конечно, будучи внешним сервисом, нецелесообразно использовать его в онлайн-обработке, как в вашем случае.

Если вы попробуете это, и это принесет много 400 ошибок, попробуйте отфильтровать HTML сАккуратный первый.

Ваш ответ на вопрос