htmlentities() не заменяет, а удаляет двойные кавычки в html тегах

Davides

Перед добавлением записи в базу данных, пользуюсь в PHP коде преобразованием текста с помощью htmlentities().

В тексте имеются html теги (например <img src=”url_image” alt=”alt_text”>), в тегах есть атрибуты с двойными кавычками (например src=”url_image”).

В PHP коде использую функцию htmlentities() следующим образом: $text = htmlentities($_POST[“text”], ENT_COMPAT, “UTF-8”);.

Все символы преобразуются в html сущности правильно, но двойные кавычки вообще удаляются из атрибутов. То есть должно меняться на &quot;, но вместо этого просто удаляется.

В результате возникают трудности с дальнейшим выводом текста на сайте.

Если кто-то сможет помочь, буду благодарен! Спасибо!

 

Artur_hopf

Davides

Я перечитал эту страницу уже несколько раз, но так и не могу разобраться в чем проблема, по-этому написал сюда.

 

Drunkenmunky

Попробуйте другие флаги, кодировки. Удостоверьтесь, что двойные кавычки это те какие надо кавычки.
То, как вы описали, оно себя вести, при правильных установках, не должно.

 

Davides

Проблема решена. Дело было в том, что был подключен файл защиты от SQL инъекций, который автоматически везде убирал кавычки. Всем спасибо.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *