post和显示特殊字符的处理
<input type="text" value="测试'-"-<->数据" />
显示结果如下图:
好,问题来了,当我在input框中输入一般字符,保存到数据库和最终取回在input中取出显示没有问题。
当输入例入' " < >这种特殊字符的时候,虽然在php获取和取出的过程中都加了和去了,但是最终这些字符都还是要在input中显示的,那就会造成html格式的错乱。
我现在的做法,用中文的‘和"替换英文的'和",然后还在post接收的时候替换成转义符,比如:
< < 小于号或显示标记
> > 大于号或显示标记
& & 可用于显示其它特殊字符
" " 引号
但始终不是最好的办法,请问:
1.好的处理方法怎么做?
2.在诸如kingeditor和fck这样的编辑器中又是怎么处理的?
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
输出时转义即可
htmlspecialchars()
自己来结贴:
1.sql写入前用addslashes()对特殊字符加斜杠
2.sql取出后用tripslashes()对特殊字符去斜杠
3.输出html时使用htmspecialchars()把特殊字符转成html转义符
很明显,你就不应该这样转义。
你应该要把双引号转成
"
这类字符的嘛。