Рендеринг HTML внутри HTML, MYSQL, PHP

#php #mysql #html

#php #mysql #HTML

Вопрос:

Предположим, у нас есть таблица базы данных my_code

Ввод

Я создам соединение с этой таблицей базы данных, я создам форму с действием post, я создам внутри этой формы текстовую область, в которую я буду вводить входные данные

Это пример

Я хочу

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

Проблема с выводом

Если я помещу следующий код внутри текстовой области после того, как я заменил < на amp;< и > на amp;>

Это пример

Теперь вывод, когда я могу это сделать из таблицы базы my_code данных, будет отображаться в виде кода

Это пример

Хотя я хочу, чтобы он обычно отображался как визуальный HTML (применяется) следующим образом

Это пример

Примечание: кто-то сказал, что вместо рендеринга html-кода во входном тексте просто поместите его как < и> и да, он будет отображаться на выходе так, как я хочу, но когда я попытаюсь отредактировать его на странице редактирования, обнаружится огромное искажение, когда он становится активным как текстовое поле внутри текстового поля, поэтому я должен его отобразитьно в то же время я хочу, чтобы он отображался так, как я хочу.

Эта проблема причиняет мне столько боли, что любая идея, ключевые слова или решения для нее, пожалуйста, помогите, спасибо.

Ответ №1:

Примечание: кто-то сказал, что вместо рендеринга html-кода во входном тексте просто поместите его как < и> и да, он будет отображаться на выходе так, как я хочу, но когда я попытаюсь отредактировать его на странице редактирования, обнаружится огромное искажение, когда он становится активным как текстовое поле внутри текстового поля, поэтому я должен его отобразитьно в то же время я хочу, чтобы он отображался так, как я хочу.

ДА. Затем применяйте экранирование HTML ( htmlspecialchars ) только тогда, когда вы хотите отредактировать свой контент.

Если вы хотите вывести его как необработанный HTML (то есть он становится функциональным <textarea> text ), то не применяйте указанное экранирование HTML.

Вы не можете использовать одни и те же данные в формате htmlescaped для обеих целей. Вы должны применять его в зависимости от того, что вы хотите с ним сделать, и лучше всего только прямо перед этим.

Комментарии:

1. Хорошо, я понял вашу идею и, используя htmlspecialchars, например <?php $new = htmlspecialchars(«<a href=’test’>Test</a>», ENT_QUOTES); echo $new; // <a href=amp;#039;testamp;#039;>Testamp; </ a> ?> Теперь есть ли что-нибудь, что может преобразовать <a href=amp;#039;testamp;#039;amp; >Testamp; </a> обратно в <a href=’test’>Test</a>

2. Найдено, я получаю его обратно, используя htmlspecialchars_decode , большое спасибо, теперь я буду читать о htmlspecialchars, htmlspecialchars_decode, а также htmlentities и уверен, что найду решение своей проблемы. большое спасибо