Задать вопрос
@phpcoder81

Как хранить HTML в БД?

Мужики, есть админка. Основное поле textarea, которая вводит и выводит текст страницы с разметкой (HTML код).
При сохранении используется функция mysql_real_escape_string(). Хранится HTML код в БД тоже в чистом виде. То есть вписали в textarea Тест. Это же сохранилось в БД. Это же и надо получить.

А когда повторно открываю страницу редактирования, то появляются кавычки, особенно это касается, если я вставляю Тес'т

<?php echo $row['content']; ?>

Наверно тут надо задействовать функцию stripslashes(). Но не совсем понимаю порядок.

Еще и в файле htaccess стоит php_flag magic_quotes_gpc off.

Может есть подробный мануал, как сохранять и выводить данные безопасно в textarea?

Цель: сохранить HTML код в textarea с защитой от инъекций и вывести этот текст и в textarea и на странице одинаково. Ранее для админки использовали phpmyadmin. Туда напрямую сохраняли HTML код. Но появилась потребность сохранять код не в pma, а через мини админку, которую надо защитить.
  • Вопрос задан
  • 1499 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
jamesgoodwin
@jamesgoodwin
Молодой разработчик
Предположу, что должно хватить замены одинарных кавычек на соответствующий код символа при выводе в textarea:

str_replace('\'', '&#39;',$row['content']);

В некоторых случаях может потребоваться и обратное преобразование при сохранении в базу(в зависимости от ваших нужд). Также при необходимости можете посмотреть в сторону htmlspecialchars() и htmlspecialchars_decode.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы