把</form>的内容插入mysql的时候,会自动转义 把"<" 转义成 "<" ,我用的thinkPHP框架.
也不知道是因为PHP本身,还是thinkPHP的原因,请问怎么才能不转义直接插入数据库呢?
实在没办法的话,读取的时候,使用什么函数,才能把 &xx 这些转义符变成我们常规的符号呢?
5 回答
![?](http://img1.sycdn.imooc.com/533e4c7b00013f3c02400205-100-100.jpg)
心有法竹
TA贡献1866条经验 获得超5个赞
第一步:录入:用htmlspecialchars()函数,将编辑器的内容转换为HTML实体,存入数据库;
第二步:取出:从数据库取出后,用htmlspecialchars_decode()函数将HTML实体,解析为字符,浏览器即可正常显示。
这个就像json_encode() 和 json_decode()
![?](http://img1.sycdn.imooc.com/533e4d510001c2ad02000200-100-100.jpg)
慕仙森
TA贡献1827条经验 获得超8个赞
可以使用函数:htmlspecialchars_decode
或者html_entity_decode
。
两个函数的功能参见链接:htmlspecialchars_decode 和 html_entity_decode
这两个函数是把 html 特殊字符转成 html 元素显示。
与之相对应的两个函数 htmlspecialchars
和 htmlentities
是把 html 特殊字符转换成 <
这样的编码形式。
你可以参考这个问题:我从数据库拿出的文字多了双引号,导致浏览器不能正常解析,怎么破呢
- 5 回答
- 0 关注
- 1473 浏览
添加回答
举报
0/150
提交
取消