Как я могу ОПУБЛИКОВАТЬ html?

#html #post

#HTML #Публикация

Вопрос:

Мне нужно отправить форму на PHP, но одно из полей содержит HTML.

Когда он находится в форме, все в порядке, и он покажет:

 <input id="addNote" value="<div class="line">This is my line</div>"/>
  

Однако, когда я ОТПРАВЛЯЮ его на сервер, теги HTML удаляются, поэтому он отображается как «Это моя строка». Что мне нужно сделать, чтобы убедиться, что теги не удаляются?

Спасибо!

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

1. Кодирование с использованием escape-символов.

2. Покажите свой серверный скрипт. Кроме того, ваш код выглядит не так. Недопустимое цитирование нарушит ваш HTML-код.

3. Кодирование, даже HTML-кодирование, не для всех. Вы не можете опубликовать html-тег и его содержимое, просто используя <input> и <form> .

4. Похоже, что ваша PHP-сторона удаляет HTML-теги (remove_tags), на самом деле это не HTML-код, и он не имеет ничего общего с вашей отправкой, посмотрите на код, улавливающий то, что вы бросаете.

Ответ №1:

При встраивании html в html вы должны кодировать метасимволы HTML, чтобы их нельзя было неправильно интерпретировать:

 <input id="addNote" value="amp;<div class=amp;quot;lineamp;quot;amp;>This is my lineamp;</divamp;>" />
  

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

 <input ... value="<div class="line" ....  />
                             ^---
  

Указанная цитата будет переведена как ЗАВЕРШАЮЩАЯ value= часть и line" являющаяся началом какого-либо другого нестандартного / неизвестного атрибута тега.

Ответ №2:

<input id="addNote" value="<div class="line">This is my line</div>"/> не работает вообще!

Поскольку вы используете " для ограничения значения поля ввода, у вас есть два варианта:

  1. Измените " символ на ' : Это моя строка’/>

  2. Замените кавычки ( " ) внутри значения на amp;quot; : Это моя строка»/>

Однако все это не имеет значения, если ваш PHP-скрипт удаляет HTML-теги…

Ответ №3:

в вашем файле .php используйте это —

 echo htmlentities($_POST['addNote']);
  

и в вашем HTML-файле используйте одинарные кавычки.

 <input id="addNote" name="addNote" value="<div class='line'>This is my line</div>"/>