HTMLPurifier служит разным целям. HTMLPurifier не экранирует HTML ... ну, не совсем так. Он принимает заданную вами конфигурацию, которая определяет, что разрешено в HTML, а что нет, и очищает на основе этого. Результатом на самом деле все еще является HTML, а некоторые вещи удалены / очищены.
escape () с другой стороны превращает HTML-подобные символы в HTML-объекты, чтобы они отображали одинаковых символов в браузере вместо того, чтобы интерпретироваться как HTML (например, &
-> &
, <
-> <
, >
-> >
и т. Д.)
Разные цели.
Это спасает вас от проблем с XSS? Да, но убедитесь, что вы правильно настроили кодировку символов.