сохранить HTML-форматированный текст в базу данных - PullRequest
7 голосов
/ 02 января 2011

Я хочу сохранить текст в формате html в базе данных, но когда я это делаю, не сохраняйте символы html, такие как </> 'и другие. Вот как я читаю статью из базы данных для редактирования:

<p class="Title">Англійський варіант:</p>
    <textarea name="EN" cols="90" rows="20" value="<?php echo htmlentities($articleArr['EN'], ENT_QUOTES, "UTF-8"); ?>" ></textarea>

после этого генерирует такой html-код:

<p class="Title">Англійський варіант:</p>
    <textarea name="EN" cols="90" rows="20" value="&lt;p class=&#039;Title&#039;&gt; привыт &lt;/p&gt;" ></textarea>

Итак, я ожидаю, что этот текст появится в моем текстовом поле, в html-коде этой страницы он есть, но в текстовой областиНет.

В базе данных я сохраняю его как:

<p class="Title"> Hello </p>

Так как мне сделать следующее:

  1. Чтение из базы данных html-formattedtext.
  2. Показать его в элементе textarea.
  3. Редактировать и сохранить его обратно в базу данных.

Помогите мне, пожалуйста, как мне правильно сохранить такие тексты, Спасибо!

Ответы [ 2 ]

33 голосов
/ 02 января 2011

Попробуйте использовать htmlspecialchars() в строке для помещения в БД, а затем, при извлечении ее, используйте htmlspecialchars_decode().Может иметь значение.

3 голосов
/ 02 января 2011

Сохраните его в поле nvarchar (max).

Убедитесь, что для безопасности вы используете параметризованные запросы.Прочитайте

http://www.aspnet101.com/2007/03/parameterized-queries-in-asp-net/

http://msdn.microsoft.com/msdnmag/issues/04/09/SQLInjection/

с небольшими изменениями в Sql, вы можете обратиться к Mysql также

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...