Почему htmlspecialchars_decode в PHP не имеет параметра набора символов как в его дубликате?

Существует параметр набора символов в htmlspecialchars, но версия декодирования не имеет его. По сравнению с подобным htmlentities, кодированием и декодируют функции, у обоих есть параметр набора символов. Таким образом, я не могу выбрать, к какому набору символов я декодирую назад?

5
задан Lawrence Lau 17 May 2010 в 07:55
поделиться

2 ответа

htmlspecialchars() требует параметр charset только при преобразовании кодовых таблиц, специальные символы которых не находятся в позициях "по умолчанию". Таким образом, кодовые таблицы ISO-8859-1, ISO-8859-15, UTF-8, cp866, cp1251, cp1252 и KOI8-R не требуют параметра charset.

htmlspecialchars_decode() преобразует сущности (& " ' < >) обратно в их символьный эквивалент и поэтому не требует передачи charset.

Поскольку htmlentities() преобразует "все" символы в их эквивалент, в htmll_entity_decode() можно передать кодовую таблицу, чтобы убедиться, что сущности декодируются в соответствующий символ кодовой таблицы.

7
ответ дан 13 December 2019 в 05:31
поделиться

Просто потому, что он преобразует только & " ' < > и ничего больше.

Если вы хотите декодировать все сущности, используйте html_entity_decode(), вы можете передать charset в качестве третьего параметра.

5
ответ дан 13 December 2019 в 05:31
поделиться
Другие вопросы по тегам:

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