Я использую HTML rich text editor в форме HTML, данные из текстового редактора вставляются в таблицу базы данных MySQL в столбец с именем first_page
, для типа которого установлено значение «ТЕКСТ».Как распечатать сохраненный HTML из базы данных?
Так что, если в моем богатом текстовом редакторе у меня есть следующий текст:
<h4 style="text-align: center;">Write your first page!</h4>
Перед тем, как вставить данные я следующее, чтобы сохранить данные в безопасности от любой HTML инъекции:
trim(stripslashes(htmlspecialchars($variable)));
Тогда, когда я отправить форму данных выглядит в базе данных:
<h4 style="text-align: center;">Write your first page!</h4>
Затем, когда я пишу запрос и распечатать значение моей колонки на отдельной странице, он не интерпретировать HTML вместо этого он выводит данные, как в обычной строке, как показано ниже:
Не уверен, где я буду ошибаться здесь, я бы хотел, чтобы HTML фактически распечатывался как HTML, а не строка.
ПОСТАНОВИЛИ
Как @quentin предложил, я сейчас использовал HTML Purifier, чтобы предотвратить такие вещи, как против XSS. Фактический ответ на мой вопрос заключался в том, чтобы декодировать мой HTML обратно к их применимым символам, используя html_entity_decode.
Можете ли вы разместить код? –
Вам нужно преобразовать «HTML-сущности» обратно в свою разметку, например, с помощью 'html_entity_decode'. http://php.net/manual/en/function.html-entity-decode.php –
@MarioWerner Фантастический, это сработало. Если вы можете написать это как ответ, я приму это. – user3574492