Особенность функций htmlspecialchars и htmlentities

Кто-нибудь может объяснить, почему функции htmlspecialchars и htmlentities кодируют одинарную кавычку как ', а не как '? Историческая особенность или у этого явления какие-то иные причины?
  • Вопрос задан
  • 4296 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 2
@rozhik
Причина — часто встречающаяся. Старый IE не показывал &-apos-;
Ответ написан
В хронологическом (вроде) порядке:
php > var_dump(htmlspecialchars('\'', ENT_QUOTES|ENT_HTML401));
string(6) "'"
php > var_dump(htmlspecialchars('\'', ENT_QUOTES|ENT_XML1));
string(6) "'"
php > var_dump(htmlspecialchars('\'', ENT_QUOTES|ENT_XHTML));
string(6) "'"
php > var_dump(htmlspecialchars('\'', ENT_QUOTES|ENT_HTML5));
string(6) "'"

При любом экранировании используйте то, которое предназначено конкретно для вашего языка и только если его нет (и по каким-то причинам создать самому нельзя), можно использовать что-то похожее.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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