За последние 24 часа нас посетили 194469 программистов и 2009 роботов. Сейчас ищут 2010 программистов ...

PHP и CKEditor - непонятно как связать

Тема в разделе "PHP для новичков", создана пользователем mark2010, 24 дек 2010.

  1. mark2010

    mark2010 Активный пользователь

    С нами с:
    18 авг 2010
    Сообщения:
    80
    Симпатии:
    0
    Установил редактор на сайт, сейчас стоит задача вставки в базу того, что мы написали в редакторе. Естественно, что там может быть самый разный html. Так вот код вроде:

    HTML:
    1.  
    2. <p>текст</p>
    3.  
    нормально вставляется.

    А что-то типа:
    HTML:
    1.  
    2. <h1>текст</h1>
    3.  
    вставляется как

    HTML:
    1.  
    2. <h1>текст
    3.  
    Естественно, что текст перед вставкой экранирую вот такой функцией:

    PHP:
    1.  
    2. public function escape($string)
    3.     {
    4.         return mysql_real_escape_string($string);
    5.     }
    6.  
    т.е. простая обёртка :)

    Подскажите в какую сторону копать :)
     
  2. mark2010

    mark2010 Активный пользователь

    С нами с:
    18 авг 2010
    Сообщения:
    80
    Симпатии:
    0
    Ох, пардон, тему не в тот раздел написал.... надо было в "Программирование на PHP". Модераторы, кому не влом, перенесите пожалуйста :)
     
  3. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    Не понял, теги не закрываются в редакторе что ли?
     
  4. mark2010

    mark2010 Активный пользователь

    С нами с:
    18 авг 2010
    Сообщения:
    80
    Симпатии:
    0
    Ну что-то типа того. Причём в самом редакторе это видно как

    HTML:
    1.  
    2. <h1>
    3.             текст
    4.                  </h1>
    5.  
    Непонятно почему на сервере теги открытыми остаются... хм....
     
  5. mark2010

    mark2010 Активный пользователь

    С нами с:
    18 авг 2010
    Сообщения:
    80
    Симпатии:
    0
    Вот сейчас добавил везде подчёркнутый текст и форматированный.Вот результирующий html на странице:

    HTML:
    1.  
    2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3. <html xmlns="http://www.w3.org/1999/xhtml">
    4. <meta http-equiv="Content-Type" content="text/html; charset=win-1251" />
    5.  
    6. <title>test title</title>
    7.     <!--[if lte IE 6]><link rel="stylesheet" href="ie6.css" type="text/css" media="all" /><![endif]-->
    8. <meta name="description" content="" />
    9. <meta name="keywords" content="" />    
    10. <link href="templates/main/my_css.css" rel="stylesheet" type="text/css" />
    11. <link rel="stylesheet" href="templates/main/lytebox.css" type="text/css" media="screen" />
    12. <link rel="stylesheet" type="text/css" href="templates/main/skins/ie7/skin.css" /> 
    13.  
    14.  
    15.  
    16.  
    17.  
    18. </head>
    19. <p>
    20.  
    21.     <u>
    22.  
    23. <p>
    24.     <u>
    25.  
    26. <p>
    27.     <u>
    28.  
    29. </body>
    30. </html>
    31.  
    Пока не додумаю в чём проблема... Вот запрос на вставку в базу:
    PHP:
    1.  
    2. $query = "INSERT INTO pages (page_title, page_description, page_keywords, page_header, page_footer, page_content) VALUES ('".$db->escape($page_title)."', '".$db->escape($page_descr)."', '".$db->escape($page_keywords)."', '".$db->escape($page_header)."', '".$db->escape($page_footer)."', '".$db->escape($page_content)."')";
    3.  
    где
    PHP:
    1. $db->escape()
    - функция, экранирующая все подозрительные дела. Функцию описывал в предыдущих постах этой темы.