Экранирование строки из базы данных, которая идет по атрибуту alt - PullRequest
2 голосов
/ 04 июля 2011

Это должно быть довольно просто, но я не вижу, чего мне здесь не хватает:

У меня есть база данных, и я хочу, чтобы из нее был заполнен атрибут alt.

У меня есть следующий код:

  <img src="admin/uploads/retouch/'.$list->thumbnail.'" class="thumb-image" alt="'.utf8_encode(addslashes($list->titulo)).'" />

И бывает, что в этом случае то, что внутри "titulo" в моей базе данных имеет "на нем, и я получаю это в результате в моем коде:

  <img ti!\""="" por="" ¡hazlo="" manos.="" en="" estÁ="" prestaciones="" tus="" mejorar="" alt="\" class="thumb-image" src="admin/uploads/retouch/noticia_default.png">

предложение из базы данных: «MEJORAR TUS PRESTACIONES ESTÁ EN TUS MANOS. ¡HAZLO POR TI!»

Ответы [ 4 ]

7 голосов
/ 04 июля 2011

Вы должны использовать htmlspecialchars, а не addslashes, с опцией utf8!

alt="'.htmlspecialchars($list->titulo, ENT_QUOTES, 'UTF-8').'"
1 голос
/ 04 июля 2011

Вы должны кодировать htmlentities вместо добавления слешей:

alt="'.htmlentities($list->titulo, ENT_QUOTES, 'UTF-8').'"
1 голос
/ 04 июля 2011

Вам нужно экранировать такой контент, используя функцию PHP htmlspecialchars ().

1 голос
/ 04 июля 2011

Используйте htmlentities или htmlspecialchars для экранирования строк в атрибутах тега.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...