Есть строка, которую я пытаюсь вывести в формате htmlencoded, а функция htmlentities()
всегда возвращает пустую строку.
Я точно знаю, почему это так. Ну, я не использую PHP 5.4, у меня установлена последняя версия PHP 5.3.
Вопрос в том, как я смогу htmlencode строку с недопустимыми последовательностями кодовых единиц.
Согласно мануалу, ENT_SUBSTITUTE
- это путь. Но эта константа не определена в PHP 5.3.X.
Я сделал это:
if (!defined('ENT_SUBSTITUTE')) {
define('ENT_SUBSTITUTE', 8);
}
все равно не повезло. htmlentities
по-прежнему возвращает пустую строку.
Вместо этого я хотел попробовать ENT_DISALLOWED
, но не могу найти для него соответствующее длинное значение.
Итак, мой вопрос состоит из двух частей
Каково постоянное значение
ENT_DISALLOWED
в PHP 5.4?Как убедиться, что строка, содержащая символы, отличные от UTF-8 (например, умные кавычки em>), можно ли их очистить? - Не только умные кавычки, но и все, что заставляет
htmlentities()
возвращать пустую строку.