htmlspecialchars() x htmlentities()

Я прочитал их документацию, но до сих пор не понимаю, когда использовать каждый из них и их различие.

Давайте рассмотрим ситуацию с наличием общей строки в переменной и необходимости ее отображения в HTML-коде. Если в нем есть разметка HTML, я хочу, чтобы он был преобразован в код HTML (< заменен на &lt;, & заменен на &amp;, Если у него есть специальные символы UTF, которых нет в HTML-коде, он заменяется номером HTML ( заменен на &#8226;).

Какова лучшая функция для этого?

Сложнее: непечатаемые буквы, например \n, char(10), char(13) и т. д. должны быть заменены их числовым кодом, если строка напечатана внутри <pre> или любую специальную текстовую область, чтобы строка была сброшена.

1 ответ

Решение

htmlentities это обходной путь для неправильной установки типа символа документа. htmlspecialchars является правильной функцией, используемой для простого ввода текста в документ HTML.

Что касается вашего второго вопроса, я думаю, вы ищете addcslashes.

Другие вопросы по тегам