html_entity_decode и тег HTML <textarea>
Я использую html_entity_decode для отображения правильного HTML при получении из базы данных. Итак, предположим, у меня есть
$data = '<b> Hello </b>'
$data = html_entity_decode($data);
// выводит Привет, но когда я делаю
<textarea><?=$data?></textarea>
Значение в textarea отображается как есть, то есть:
<b> Hello </b>
Почему так?
1 ответ
Видимо, когда вы вставили данные в базу данных, они не были закодированы. Если он не закодирован, декодирование не работает.
Кроме того, основной сценарий заключается в том, что текстовая область может содержать только текстовые элементы. Когда вы кладете эти данные внутри <textarea><?=$data?></textarea>
вы на самом деле кладете <b> Hello </b>
, Таким образом, область текста превращается в простой текст. Вы можете узнать больше об этом через стандарт текстовой области W3C.