WYSIWYG редактор и проблемы обработки данных

lanzer

Guest
WYSIWYG редактор и проблемы обработки данных

Есть стандартный WYSIWYG редактор, если вставить данные допустим из MSWord, то вставляется достаточно кривой html.

Требования нашей компании - стандарт xhtml, поэтому надо этот html привести в порядок. Пытаюсь написать эту вычистку средствами php.

У меня косяк в том, что надо не только вытащить название всех тегов, но и их аттрибуты, да еще и проверить нужен ли этот аттрибут. А если аттрибут не нужен или значение аттрибута не соответствует требованиям, то надо либо изменить это значение, либо удалить аттрибут.

Кто нибудь уже писал такое?
Может есть такой модуль в существующих системах OpenSource?

Пример:
<H1 style="MARGIN: 12pt 0cm 3pt; TEXT-ALIGN: center" align=center><SPAN lang=EN-US style="mso-ansi-language: EN-US"><STRONG><FONT size=5><FONT face=Arial>Test<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:eek:ffice:eek:ffice" /><o:p></o:p></FONT></FONT></STRONG></SPAN></H1>

На выходе должно получиться:
<h1 align="center"><strong>Test</strong></h1>


Поделитесь опытом, комментариями...
 

sokol

Zavolga.Net
Я не понимаю конечно зачем именно xhtml нужен. Достаточно было бы просто вычистить от левых тегов и атрибутов MS Word. Но если очень нужно, то скачивай с w3c.org схему xtml и флаг тебе в руки.
 

svetasmirnova

маленький монстрик
На сайте Microsoft свободно распространяется программа MSFilter Они утверждают, что только для 2000, но с некоторой хитростью работает и в XP. Чистит хреново, то есть слишком много вычищает, может закрывающий тэг убить, но могу порекомендовать поиграть с настройками.
 

slach

Новичок
;) только он платный для коммерческого использования...
а так вполне не плох...
 

betik

Новичок
Так это... В файрфоксе и эксплорере... Есть чистка говна из ворда и екселя.. для editable объектов.

Посмотрите SPAW например...
Или msdn.microsoft.com.

Что конкретно искать сейчас не вспомню, но на форуме x-point поиском по WYSIWYG можно найти несколько хороших тредов на эту тему.

А вообще стоит скачать SPAW и перейти на него - бесплатный и не глючный и на ПХП. Я сравнивал его с некоторыми триалами платных вещей - spaw как минимум не уступает.
Есть локализация.

_____________

SPAW Editor PHP Edition
version 1.1 Beta
README

------------------------------------------------------------------
This program is copyright (c) 2003-2004 by Solmetra.
By using this program you agree to the terms of License Agreement
found in license.txt file in docs directory.
------------------------------------------------------------------

About SPAW Editor
=================
Solmetra's SPAW Editor is a web based WYSIWYG editor control enabling web
site developers to replace a standard textarea html control with full-featured,
fully customizable, multilingual, skinable web based WYSIWYG editor.

Subscribe to spaw-announce mailing list at
https://lists.sourceforge.net/lists/listinfo/spaw-announce
to be notified about new releases.

Features included in this release:

- Basic text editor features (cut, copy, paste, undo, redo);
- Basic formatting features (bold, italic, underline, fore color,
background color, fonts, etc.);
- Management of HTML objects (images, links, tables, etc.);
- Applying CSS classes to text and objects;
- Advanced image manipulation - image library sub-control
(upload, preview and select images);
- Advanced table manipulation - create, modify attributes of table and cells,
insert/delete rows and columns, merge/split cells
(including unique vertical merging feature!!!);
- Support for themes (skins) - 2 ready to use themes included;
- Fully customizable toolbars - 4 presets included;
- Multilanguage support - English, Lithuanian, Russian, German, Dutch,
Italian, French, Hebrew, Turkish, Chinese, Czech, Brazilian Portuguese,
Swedish, Danish, Bulgarian, Polish, Finish, Estonian, Japanese,
Galego, Norwegian, Slovak, Catalan, Portuguese, Slovenian, Greek
and Thai language files included;
- Support for multiple fully independent instances of control on the same page
(each instance can have different theme, toolbar, language, style classes, etc.);
- HTML code cleanup (useful for copy/pasting content from MS Word);
- Optional design time borders on borderless tables;
- Active toolbar reflecting applicable features and current style;
- Demo script showcasing the use of the control;
- Basic documentation.

Requirements for PHP edition:

Server: PHP4 on any compatible OS
Client: Microsoft Internet Explorer 5.5. or above on Windows,
Mozilla 1.3 (or other Gecko based browser) or higher on any supported OS
 

Max Kuk

Новичок
FCKeditor и Smarty

Господа, вопрос, никто не пытался прикрутить FCKeditor к Smarty шаблону? Чего-то не выходит никак, точнее выходит, но не получается передать дефолтовый параметр в шаблон....
 

slach

Новичок
Max_Kuk а ты клиент от сервера ОТЛИЧАЕШЬ ??

Смарти о FCKEditor'е знать ничего не знает

Смарти на сервере работает...

хочешь чтото в FCKEditor передать
рисуй JAVASCRIPT код в шаблоне... и подставляй туда значения из php на этапе выполнения php
 

Max Kuk

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

su1d

Старожил PHPClubа
хм, а разве tidy плохо справляется с такой чисткой?
 

zerok

Новичок
Max Kuk

расскажи ты свою проблему решил?
а то хотела поинтересоваться как...
 

akxxiv

Новичок
Требования нашей компании - стандарт xhtml, поэтому надо этот html привести в порядок. Пытаюсь написать эту вычистку средствами php.
Я это решил средствами JS и DOM. Заполняешь массив разрешенных тегов и разрешенных для этих тэгов атрибутов. Затем банально проходишь по всем узлам грязного кода, сравниваешь тэги и атрибуты и создаешь чистый. Если не вставляешь по пять страниц с таблицами, чистит достаточно быстро.
 

zerok

Новичок
akxxiv

в другом месте (у меня таких механизмов не один) я использую strip_tags с разрешенным список + вырезаю все стили и классы

но тут задачка посложнее
 

s1mon

Новичок
Есть ли в SPAW версии 1.0 файл-менеджер?? Мне он сейчас очень нужен, но найти не могу (((
 
Сверху