从数据库中转义 alt 属性上的字符串
这应该相当容易,但我不明白我在这里缺少什么:
我有我的数据库,我希望从中填充 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马诺斯。 ¡哈兹洛·波尔蒂!”
This should be fairly easy but I don't see what I'm missing here:
I have my database and I want the alt attribute to be populated from it.
I have my code as follows:
<img src="admin/uploads/retouch/'.$list->thumbnail.'" class="thumb-image" alt="'.utf8_encode(addslashes($list->titulo)).'" />
And it happens that in this case what's inside "titulo" in my database has " on it and I get this as a result in my code:
<img ti!\""="" por="" ¡hazlo="" manos.="" en="" estÁ="" prestaciones="" tus="" mejorar="" alt="\" class="thumb-image" src="admin/uploads/retouch/noticia_default.png">
the sentence from database is: "MEJORAR TUS PRESTACIONES ESTÁ EN TUS MANOS. ¡HAZLO POR TI!"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您应该使用带有 utf8 选项的
htmlspecialchars
而不是addslashes
!You should be using
htmlspecialchars
notaddslashes
, with the utf8 option!使用 htmlentities 或 htmlspecialchars 转义标签属性中的字符串。
Use htmlentities or htmlspecialchars to escape strings in tag attributes.
您需要使用 PHP 函数 htmlspecialchars() 转义此类内容。
You need to escape such content using PHP function htmlspecialchars().
您应该对 htmlentities 进行编码,而不是添加斜杠:
You should encode htmlentities instead of adding slashes: