Правильный способ хранить значение ckeditor (html разметка) в базе данных? (проблема с разрывом строки) - PullRequest
0 голосов
/ 14 февраля 2012

Я впервые использую ckeditor и использую php для хранения значения ckeditor в базе данных mysql:

$content = mysql_real_escape_string($_POST['content']);

Когда я использую mysql_real_escape_string перед вставкой в ​​БД, она добавляет\ r \ n все в html от ckeditor.Это то, что хранится в базе данных:

<code><p>Here is a line</p>
\r\n
<pre class=\"code-python\">name = &quot;Bob&quot;
\r\n
last = &quot;Smith&quot;
\r\n
full = name + &quot; &quot; + last
\ r \ n

И еще одна строка

\ r \ n

Это то, что я вижу, когда я возвращаю его обратнов браузер:

Вот строка

rn

name = "Bob" rnlast = "Smith" rnfull = name + "" + last

rn

И еще одна строка rn

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

Это то, что я хотел бы видеть:

Вот строка

name = "Bob"

last = "Smith"

full = name + "" + last

И еще одна строка

1 Ответ

4 голосов
/ 18 октября 2012

Добавьте эту строку в ваш код: $content = str_ireplace('\r\n', '', $content);

Таким образом, ваш код должен выглядеть следующим образом:

$content = mysql_real_escape_string($_POST['content']);
$content = str_ireplace('\r\n', '', $content);

Я попробовал, и он работает.

...