为了账号安全,请及时绑定邮箱和手机立即绑定

thinkPHP或者PHP特殊符号插入数据库转义的问题.

thinkPHP或者PHP特殊符号插入数据库转义的问题.

PHP
慕容3067478 2019-03-18 10:15:25
把</form>的内容插入mysql的时候,会自动转义 把"<" 转义成 "&lt;" ,我用的thinkPHP框架. 也不知道是因为PHP本身,还是thinkPHP的原因,请问怎么才能不转义直接插入数据库呢? 实在没办法的话,读取的时候,使用什么函数,才能把 &xx 这些转义符变成我们常规的符号呢?
查看完整描述

5 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

TP这么做事为了数据库的安全
php转译函数htmlspecialcharshtmlspecialchars_decode

查看完整回答
反对 回复 2019-03-18
?
心有法竹

TA贡献1866条经验 获得超5个赞

第一步:录入:用htmlspecialchars()函数,将编辑器的内容转换为HTML实体,存入数据库;
第二步:取出:从数据库取出后,用htmlspecialchars_decode()函数将HTML实体,解析为字符,浏览器即可正常显示。
这个就像json_encode() 和 json_decode()

查看完整回答
反对 回复 2019-03-18
?
慕仙森

TA贡献1827条经验 获得超8个赞

可以使用函数:htmlspecialchars_decode或者html_entity_decode

两个函数的功能参见链接:htmlspecialchars_decodehtml_entity_decode

这两个函数是把 html 特殊字符转成 html 元素显示。
与之相对应的两个函数 htmlspecialcharshtmlentities 是把 html 特殊字符转换成 &lt; 这样的编码形式。

你可以参考这个问题:我从数据库拿出的文字多了双引号,导致浏览器不能正常解析,怎么破呢

查看完整回答
反对 回复 2019-03-18
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

这两个函数
addslashes()
addcslashes()

查看完整回答
反对 回复 2019-03-18
  • 5 回答
  • 0 关注
  • 1473 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信