CKeditor и его автоматическая правка html кода

Тема в разделе "PHP", создана пользователем genarator2003, 24 фев 2010.

Модераторы: latteo
  1. genarator2003

    genarator2003 Постоялец

    Регистр.:
    23 авг 2007
    Сообщения:
    113
    Симпатии:
    8
    На CMS подключен CKeditor парсю статический сайт заказчика и пишу содержимое html`ек напрямую в базу. Но когда запись открывается CKeditor`ом он заменяет некоректный с его точки зрения html на что-то своё. Это меня не устраивает как отключить ???

    P.S. Сорри если не в ту ветку вроде эта подходящая.
     
  2. *mm*

    *mm* Создатель

    Регистр.:
    1 окт 2009
    Сообщения:
    29
    Симпатии:
    2
    Какие именно замены происходят?
    Что пишеться в базу проверяли?, Пробовали выводить, не через CK?

    Вобще-то никаких замен не должно производиться, основная идея визульных редакторов, в том чтобы просто отображать визуально, а не корретировать.
     
  3. genarator2003

    genarator2003 Постоялец

    Регистр.:
    23 авг 2007
    Сообщения:
    113
    Симпатии:
    8
    Пишу в базу напрямую, просматриваю записи на сайте всё ок.
    Ставлю в админке редактирование записи слетают флэш объекты типа:
    Код:
    <object height="450" width="500" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0">
    				        <param value="download/swf/pilotrek.swf" name="movie"><param value="best" name="quality">
    				        <param value="true" name="play">
    				        <embed height="450" width="500" play="true" quality="best" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" src="download/swf/pilotrek.swf">
    			      </object>
     
  4. *mm*

    *mm* Создатель

    Регистр.:
    1 окт 2009
    Сообщения:
    29
    Симпатии:
    2
    И какие изменения происходят? Где замена html?
    Вывел Ваш код через редактор, все работает.

    Проблема не в редакторе, а в том что Вы пишете в базу скорее всего.
    В любом случае, так сложно говорить, приводите код, а также таблицу и дамп.
     
  5. Casper_R

    Casper_R Создатель

    Регистр.:
    3 май 2007
    Сообщения:
    87
    Симпатии:
    26
    на сколько я знаю CKэдит все тэги фигачит в спец.символы. есть ли при сохранении htmlspecialcharsdecode() ?
     
  6. *mm*

    *mm* Создатель

    Регистр.:
    1 окт 2009
    Сообщения:
    29
    Симпатии:
    2
    Это интересно в какие спец. символы?
    И причем тут сохранение, когда данные выводятся из БД?
     
  7. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Данные в БД прежде всего заносятся, а потом уже выводятся. CKEditor вполне может вместо скажем <body> записать &laquo;body&raquo;, а именно может производится замена спец-символов на их html-сущности. В любом случае надо смотре что в базе лежит.
     
  8. *mm*

    *mm* Создатель

    Регистр.:
    1 окт 2009
    Сообщения:
    29
    Симпатии:
    2
    А вы об этих символах, ну да, ну да, я Вам могу наверняка сказать, да меняет, кавычки так точно.
     
  9. genarator2003

    genarator2003 Постоялец

    Регистр.:
    23 авг 2007
    Сообщения:
    113
    Симпатии:
    8
    Записал в базу:
    Код:
    <object height="450" width="500" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0">
    				        <param value="download/swf/pilotrek.swf" name="movie"><param value="best" name="quality">
    				        <param value="true" name="play">
    				        <embed height="450" width="500" play="true" quality="best" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" src="download/swf/pilotrek.swf">
    			      </object>
    
    после открытия и сохранения ckeditorom стало
    Код:
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" height="450" width="500"> <param cke:param="" name="quality" value="best" /> <param name="play" value="true" /></object>
    

    т.е. тег <embed ... > исчез!!! почему и как пофиксить такое "умное" поведение я как понимаю эдитор режет невалидный на его взгляд Html

    флешина перестаёт работать после этих манипуляций
     
  10. Casper_R

    Casper_R Создатель

    Регистр.:
    3 май 2007
    Сообщения:
    87
    Симпатии:
    26
    запихал в цкэдитор
    PHP:
    <object height="450" width="500" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0">
                            <
    param value="download/swf/pilotrek.swf" name="movie"><param value="best" name="quality">
                            <
    param value="true" name="play">
                            <
    embed height="450" width="500" play="true" quality="best" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" src="download/swf/pilotrek.swf">
                      </
    object>
    на выходе в БД при сохранении получил
    PHP:
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" height="450" width="500"> <param name="movie" value="download/swf/pilotrek.swf" /><param name="quality" value="best" /> <param name="play" value="true" /> <embed height="450" play="true" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" quality="best" src="download/swf/pilotrek.swf" type="application/x-shockwave-flash" width="500"></embed> </object>
    так что точно могу сказать, что в 3.1 версии все ок. эмбед не режется. да и с какой стати ему это делать...

    какая версия редактора стоит?