@masimka

Как корректно отобразить текст пользователю после htmlentites вместо &lt; — <?

Суть вопроса., принял от пользователя текст, убрал опасный код, но оператору и пользователю нужно показать код который отправил пользователь., а именно полностью с корректными <>$#%^&*().

$str = "A 'quote' is <b>bold</b>";

// Outputs: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str);


Я принял код, перевел его с помощью htmlentities в сущности, и вывел в браузер.
// Outputs: A 'quote' is &lt;b&gt;bold&lt;/b&gt;

Как мне не декодируя заставить html отображать не "& l t ;" а < ?
Я не могу понять почему браузер не отображает мне миволо "&" когда я пишу ему " & a m p ; ", он просто выводит "& a m p ;" (без пробелов соответвенно)

сейчас в браузере отображается так:
<div class="message__body">
                        <p style="font-size: 14px; padding-top: 5px">app.get(&amp;apos;/&amp;apos;, function(req, res){   var firstname = req.query.firstname; //an untrusted input collected from user   res.send(&amp;apos;&amp;amp;lt;h1&amp;gt; Hello, &amp;apos; + xssFilters.inHTMLData(firstname) + &amp;apos;!&amp;amp;lt;/h1&amp;gt;&amp;apos;); });</p>
                    </div>
  • Вопрос задан
  • 167 просмотров
Пригласить эксперта
Ответы на вопрос 1
Stimulate
@Stimulate
могу
echo html_entity_decode($str);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы