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

把</form>的内容插入mysql的时候,会自动转义 把"<" 转义成 "&lt;" ,我用的thinkPHP框架.

也不知道是因为PHP本身,还是thinkPHP的原因,请问怎么才能不转义直接插入数据库呢?

实在没办法的话,读取的时候,使用什么函数,才能把 &xx 这些转义符变成我们常规的符号呢?

慕容3067478
浏览 1475回答 5
5回答

慕森王

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

心有法竹

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

慕仙森

可以使用函数:htmlspecialchars_decode或者html_entity_decode。 两个函数的功能参见链接:htmlspecialchars_decode 和 html_entity_decode 这两个函数是把 html 特殊字符转成 html 元素显示。与之相对应的两个函数 htmlspecialchars 和 htmlentities 是把 html 特殊字符转换成 &lt; 这样的编码形式。 你可以参考这个问题:我从数据库拿出的文字多了双引号,导致浏览器不能正常解析,怎么破呢

慕码人2483693

这两个函数addslashes()addcslashes()
打开App,查看更多内容
随时随地看视频慕课网APP