PHP: Когда значение, содержащее апостроф, приходит из текстового поля формы, результатом является пустая строка (пример 2 ниже)! Но когда то же значение получается из самого скрипта, результатом является как минимум преобразованная строка (пример 1 ниже). Эта проблема возникает при проверке отправки формы, содержащей имена с апострофами, с помощью метода htmlspecialchars (). Какой еще метод я мог бы использовать?
Пример: текстовое поле отправлено с текстом «Olé».
Case 1 (Result: "Olé")
echo htmlspecialchars("Olé");
Case 2 (Result: "")
echo htmlspecialchars($_POST["firstname"]);
Вы, возможно, хотите использовать htmlentities()
функция. Эта функция может использоваться для символов utf-8 и более. Он преобразует специальные символы в HTML и отображает их нормально.
Пример:
<?php
$text = "Olé";
echo htmlentities($text);
?>
Выход: Olé
Полный список наборов символов и примеров можно посмотреть на W3Schools.
Других решений пока нет …