Как я могу POST HTML? - PullRequest
       3

Как я могу POST HTML?

0 голосов
/ 11 октября 2011

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

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

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

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

Спасибо!

Ответы [ 3 ]

3 голосов
/ 11 октября 2011

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

<input id="addNote" value="&lt;div class=&quot;line&quot;&gt;This is my line&lt;/div&gt;" />

Это особенно верно для " символов, так как они будутсломай форму для парсера.например,

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

Указанная цитата будет переведена как ENDING часть value=, а line" - начало какого-либо другого нестандартного / неизвестного атрибута тега.

0 голосов
/ 11 октября 2011

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

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

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

<input id="addNote" name="addNote" value="<div class='line'>This is my line</div>"/>
0 голосов
/ 11 октября 2011

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

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

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

  2. Заменить кавычки (") внутри значения для &quot;: Это моя линия "/>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...