2011-01-02 2 views
5

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

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

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

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

Так как я могу сделать последующие:

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

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

+0

Вы уверены, что не сохраняете html-символы, такие как? –

+0

Да, он не сохраняет такие символы – yozhik

+0

он делает. это просто так. –

ответ

30

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

+1

Некоторые символы имеют особое значение в HTML и должны быть представлены объектами HTML, если они должны сохранять их значения. Эта функция возвращает строку с некоторыми из сделанных преобразований; сделанные переводы являются наиболее полезными для повседневного веб-программирования. Если вам требуется перевести все символы HTML-символов, вместо этого используйте htmlentities(). –

3

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

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

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

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

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

+4

Вы уверены, что ответили на правильный вопрос ..? !! – Fr0zenFyr

Смежные вопросы