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

Главные вкладки

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

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

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

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

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

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

Комментарии

Аватар пользователя yugin yugin 16 февраля 2009 в 8:52

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

Аватар пользователя Moon Fan Moon Fan 16 февраля 2009 в 13:01

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

Аватар пользователя yugin yugin 16 февраля 2009 в 13:30

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

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

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

Аватар пользователя kovtunos kovtunos 19 февраля 2009 в 18:59

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

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

Аватар пользователя Pozniy Pozniy 17 февраля 2009 в 1:58

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

Аватар пользователя Pozniy Pozniy 17 февраля 2009 в 22:40

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

За парсинг с ворда в фск отвечает файл 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-а?

Аватар пользователя zloelias zloelias 19 июня 2009 в 16:26

Pozniy wrote:

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

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

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

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

Аватар пользователя Valeratal Valeratal 18 февраля 2009 в 12:57

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

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