htmlspecialchars ($ _ POST ['userinput'], ENT_NOQUOTES) НЕ игнорирует кавычки? - PullRequest
0 голосов
/ 23 мая 2019

Я не знаю, хорошая ли это практика кодирования, но я пытаюсь использовать 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 для отображения результата.Интересно, это как-то связано.

Спасибо.

...