Как удалить дерьмо разметки Word при вставке в форму?

Я создаю CMS на PHP, и у меня есть один страх, что пользователям придется заполнять данные из существующих документов Word (и Excel, но неважно это). Теперь я видел, что происходит, когда они небрежно копируют и вставляют из Word в текстовое поле: база данных заполняется дерьмовой разметкой.

Конечно, я мог бы сам удалить всю разметку, но сначала мне нужно было бы начать изучать ее. Поэтому я спрашиваю вас: вы тестировали какую-то функциональность - плагины обычных подозреваемых (tinyMCE, FCKeditor и т. д.), которые здесь помогают? Бонус за наименее навязчивое решение.


person Adriano Varoli Piazza    schedule 24.12.2008    source источник


Ответы (4)


К сожалению, большинство элементов управления редактором HTML, которые я использовал:

  1. Есть кнопка для удаления различных элементов разметки (word, html, script и т. д.)
  2. Удалите все разметку при вставке с помощью JavaScript.

Если вы оставите это на кнопку, то, как правило, нетехнические пользователи забудут нажать ее, потому что они не (некоторые сказали бы, что «не должны») заботятся об этом :(

Немного поигравшись с регулярными выражениями (теперь у вас другая проблема ;)) вы можете сделать что-то похожее на 2, но только для слова xml.

person Zhaph - Ben Duguid    schedule 24.12.2008

Я обнаружил, что FCKEditor обрабатывает текст, извлеченный из документов Word, гораздо лучше, чем tinyMCE.

person ayaz    schedule 24.12.2008
comment
Существующий веб-сайт, о котором я говорил в вопросе, уже использует FCK, хотя и не последнюю версию. Это недавнее улучшение? - person Adriano Varoli Piazza; 24.12.2008
comment
@ Моранар: я не могу сказать. Я использую версию 2.6.3. Просто при использовании tinyMCE я обнаружил, что трудно правильно редактировать текст, скопированный из документа Word. FCKEditor, напротив, не имел ни одной из этих проблем. - person ayaz; 24.12.2008
comment
Функция вставки из Word существует уже некоторое время. Не уверен, как долго. Он также автоматически определяет необходимость вставки Word, когда пользователь использует браузер Edit->Paste или Ctrl+V. - person Jon Adams; 28.01.2009

Хорошо, я нашел плагин для TinyMCE, который делает то, что я хотел. . Тем не менее, это требует от пользователей нажатия кнопки для вставки, что немного не идеально. Что-нибудь лучше?

person Adriano Varoli Piazza    schedule 24.12.2008

АСП.НЕТ? Telerik RadEditor отлично сработал.

person Paul Nearney    schedule 24.12.2008