сохранить HTML-форматированный текст в базе данных

Я хочу сохранить 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='Title'&gt; привыт &lt;/p&gt;" ></textarea>

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

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

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

Так как я могу сделать следуйте:

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

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

2 ответов


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


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

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

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

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

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