PHP5.3 htmlentities с ENT_HTML5 выдает сообщение об ошибке

Я получаю данные из почтовой формы и хочу сохранить их в MySQL
строка кода для обработки ввода:

$tekst = $_POST["tekst"];
$tekst = htmlentities($tekst, ENT_QUOTES, ENT_HTML5, "UTF-8");

Когда я запускаю это, я получаю сообщение об ошибке:
Предупреждение: htmlentities (): кодировка `ENT_HTML5 ‘не поддерживается, предполагая, что iso-8859-1 в savepage.php в строке 14 index.php? Id = 1&ret = 1 1

Как мне преодолеть предупреждение?

0

Решение

Вы получили эту ошибку, потому что вы использовали флаг ENT_HTML5 который появился только в PHP5.4.0.

Как вы можете подтвердить это от официального документация:

5.4.0 Константы ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML и ENT_HTML5 были добавлены.

Если ваша единственная цель состоит в том, чтобы преодолеть эту ошибку, то вы можете просто позволить флаги htmlentities() функция не установлена. Позвольте PHP обработать их по умолчанию.

Я имею в виду, изменить это:

$tekst = htmlentities($tekst, ENT_QUOTES, ENT_HTML5, "UTF-8");

Для того, чтобы:

$tekst = htmlentities($tekst, "UTF-8");

Другой вариант — установить заменить их другими флагами, поддерживаемыми PHP5.3.0, такие как:

  • ENT_COMPAT : По умолчанию. Кодирует только двойные кавычки

  • ENT_IGNORE : Игнорирует неверную кодировку вместо того, чтобы функция возвращала пустую строку. Следует избегать, так как это может иметь последствия для безопасности.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]