Я не знаю, хорошая ли это практика кодирования, но я пытаюсь использовать htmlspecialchars () в поле ввода пользователя, которое должно принимать одинарные и двойные кавычки как допустимые.Ввод будет сохранен в базе данных.
Несмотря на указание ENT_NOQUOTES, кавычки все равно кодируются.
Используя простую строку, функция работает нормально.
$string = htmlspecialchars("10'", ENT_NOQUOTES);
echo ($string) outputs expected 10' or 10"
, но если я использую
$input = htmlspecialchars($_POST['input'], ENT_NOQUOTES);
и $ input == "10 '"
$ input output 10 & # 39;(HTML-эквивалент сущности для кавычек)
Я пытался сохранить $ _POST ['input'] в переменной и затем использовать функцию для этой переменной.
$i = $_POST['input'];
$input = htmlspecialchars($i, ENT_NOQUOTES);
То же самое.
Я использую ajax и кодирую выводимые страницы в json для отображения результата.Интересно, это как-то связано.
Спасибо.