我正在尝试使用 W3C 验证系统进行验证,但出现错误:
第 59 行,第 47 列:字符“&”是分隔符的第一个字符,但作为数据出现
我知道原因是:
您使用了未转义的与号“&”:这在某些情况下可能有效,但建议使用“&”,这始终是安全的。
在表格中,我是这样输入的
索尼和 BMG 音乐娱乐
如果我进入 phpmyadmin,在表格中,我可以正确看到数据
索尼和 BMG 音乐娱乐
这是否意味着我必须使用“&”输入它...这太疯狂了,如果我有一个文本怎么办...我是否必须将每个&替换为“&”
我确信有更好的方法来做到这一点..有什么提示或想法吗?
Thanks
仅当在 HTML 上下文中使用数据时,才应将数据转义为 HTML。
Use htmlspecialchars() http://php.net/manual/en/function.htmlspecialchars.php当你输出数据时。例如:
$title="SONY & BMG MUSIC ENTERTAINMENT";
echo htmlspecialchars($title);
最佳实践是将数据保留在数据库中,因为您将来可能希望在完全不同的上下文中将其用于其他用途。也就是说,在插入数据库之前不要转义数据。只有输出的时候才关心。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)