Проблема с -div- и -p- после парсинга с Word-a в FCKEditor - вопрос к опытным коллегам [РЕШЕНО]

16 февраля 2009 в 0:56
Аватар пользователя Pozniy Pozniy 0 14

Приветствую, All!

Сам я давно пользую Bueditor+IMCE и вполне этим доволен. Одлнако в последнее время непродвинутые пользователи окончательно прижали к стенке - надо визивиг и верстка-парсинг с Ворда "одним тыцем". Поставил FCKEditor. Настроил, типа. Смотрю как работает.

При нажатии на "вставить с ворда" появляется попап-окно (поскольку включена защита) для приемки содержимого клипборда. Два флага - "исключить гарнитуры" и "исключить стили". Первый выставлен, второй нет. Но это не столь важно. Вставляю, как водится, скопированный документ. Тыцяю на готово, попадаю в сам редактор. Всё как бы ничего. Однако, открываю исходный код и вижу - все аболютно абзацы маркированы не тегом [p][/p], а [div][/div]. Если вставляю без проверки, или выключаю фильтр гарнитур - вываливается куча мусора, но разметка абзацев классическая, через [p]. Это мне одному такое div-о? Знает кто как и где это побороть? (выставлен Filtered HTML, расстановка абзацев в фильтре выключена, список разрешенных тегов настроен).

И по-ходу, второй вопрос. После чистки фильтрами (в том числе после сохранения документа и вторичного редактирования) в коде остаются кучи тегов, например [span][/span] без параметров. При этом этого тега нет в списке разрешенных и выставлен флаг все прочие теги удалять. Т.е. по идее его остаться не должно. Как эту мерзость выкорчевать (и почему этого не произошло при таких настройках)?

Заранее спасибо.

Комментарии

я делаю на один шаг больше - копирую весь текст в блокнот, потом из блокнота копирую уже простой текст в FCKeditor. Не намного сложнее и результат чистый.

16 февраля 2009 в 8:52

Это относится к простому тексту, а как быть с таблицей, наприер?
Её в блокнот не скопируешь.
Тема не раскрыта.

16 февраля 2009 в 13:01

при вставке таблиц из Excel я делаю так: вставляю таблицу, потом Ctrl+A (выделить все) и жму "Убрать форматирование". Вычищается максимум, но некоторый мусор все же остается, хоть он и некритичный.

"Moon Fan" wrote:
Это относится к простому тексту, а как быть с таблицей, наприер?
Её в блокнот не скопируешь.
Тема не раскрыта.

ИМХО - тема и не будет раскрыта полностью. Визивиг в один ряд с WORD и EXCEL поставить никак не удасться, поэтому часть ручной работы все же останется. Пробовал я коммерческий Визивиг Про. Красиво, удобно, по некоторым параметрам весьма превосходит FCK, имхо. Но проблема со вставкой из Ворда и Экселя и там присутствует. Видать не так все просто, раз даже в коммерческом и весьма недешевом продукте тему также не раскрыли.

16 февраля 2009 в 13:30

yugin wrote:
Визивиг в один ряд с WORD и EXCEL поставить никак не удасться, поэтому часть ручной работы все же останется. Пробовал я коммерческий Визивиг Про. Красиво, удобно, по некоторым параметрам весьма превосходит FCK, имхо. Но проблема со вставкой из Ворда и Экселя и там присутствует. Видать не так все просто, раз даже в коммерческом и весьма недешевом продукте тему также не раскрыли.

в ЖЖ как-то не заметил проблем с вставкой вордовских документов. Там ведь тоже используется FCKEditor

19 февраля 2009 в 18:59

Грустно как-то это всё. Что характерно, на английских сайтах тоже ничего не смог найти по этой проблеме.

17 февраля 2009 в 1:58

Решение нашел здесь.

За парсинг с ворда в фск отвечает файл editor/dialog/fck_paste.html. Для версии редактора 2.6.* надо закомментировать строки 293 и 294, а именно:

292:            // Transform <P> to <DIV>
293:            var re = new RegExp( '(<P)([^>]*>[\\s\\S]*?)(<\/P>)', 'gi' )// Different because of a IE 5.0 error
294:            html = html.replace( re, '<div$2<\/div>' ) ;

там ещё много чего интересного...

Вот бы теперь мне кто объяснил зачем они, аффтары фск, решили это делать. В чем глубокий философский смысл этого div-а?

17 февраля 2009 в 22:40

Pozniy wrote:

там ещё много чего интересного...

Вот бы теперь мне кто объяснил зачем они, аффтары фск, решили это делать. В чем глубокий философский смысл этого div-а?

В конфиге есть переменная FCKConfig.CleanWordKeepsStructure, которая указывает что предпочтительнее при очистке вордового мусора, сохранить внешний вид документа или логическую структуру.

Так вот если выбрано false (внешний вид) то все меняется на div-ы, а если true (логическая структура) остаются p, h1, h2... (это все в том же файле fck_paste.html видно)

19 июня 2009 в 16:26

В чем глубокий философский смысл этого div-а?
сплошные загадки, притом, если вставлять через обычную вставку, то параграфы остаются.
Может, потому что параграфы в ворде, это недопараграфы, они то ли br то параграфы. (Дримвьюер например, при вставке из ворда, делает из вордовских параграфов br )

спасибо, теперь возможно решено, а то уж думал опять тини ставить

18 февраля 2009 в 12:57