Почему фильтр filter_var () FILTER_SANITIZE_STRING кодирует одинарные кавычки как '
и двойные кавычки как "
, тогда как htmlentities () кодирует одинарные кавычки как '
и двойные кавычки как "
?
Пример кода:
<?php
$string = "Well that's \"different.\"";
echo "filter_var: ".filter_var($string, FILTER_SANITIZE_STRING)."\n";
echo "htmlentities: ".htmlentities($string, ENT_QUOTES)."\n";
echo "htmlspecialchars: ".htmlspecialchars($string, ENT_QUOTES)."\n";
Вывод:
filter_var: Well that's "different."
htmlentities: Well that's "different."
htmlspecialchars: Well that's "different."