用户
 找回密码
 入住 CI 中国社区
搜索
查看: 11788|回复: 8
收起左侧

如何将一段HTML代码原封不动的存入MySQL

[复制链接]
发表于 2011-7-11 18:00:02 | 显示全部楼层 |阅读模式
本帖最后由 zhaobin693 于 2011-7-12 10:07 编辑

这两天在做项目时,碰到一个很棘手的问题,就是需要将一段HTML代码存入数据库,并在相应的页面从数据库中取出这段代码,在页面上显示这段HTML代码的样式,如果是直接存进数据库的话,像双引号跟斜杠会被转义字符所代替,有什么方法能够实现将HTML代码原封不动的存入MySQL?





感谢超级版主给我的解答,问题已经解决了,其实很简单,就是引用一个PHP String函数,如下:
PHP html_entity_decode() 函数PHP String 函数

定义和用法html_entity_decode() 函数把 HTML 实体转换为字符。
html_entity_decode() 是 htmlentities() 的反函数。
其具体语法及参数,我给个链接:
PHP html_entity_decode() 函数:http://www.w3school.com.cn/php/func_string_html_entity_decode.asp
越来越觉得还是得将基础打牢了,建议广大像我这样的初学者没事的时候多看看PHP手册,很有用!


发表于 2011-7-11 18:39:21 | 显示全部楼层
本帖最后由 jeongee 于 2011-7-11 18:40 编辑

直接存,你不转义就好了或者转义也没关系,显示之前再转回来
 楼主| 发表于 2011-7-12 08:47:08 | 显示全部楼层
jeongee 发表于 2011-7-11 18:39
直接存,你不转义就好了或者转义也没关系,显示之前再转回来

我存的是一段javascript代码,其中<javascript></javascript>这对标签已经在页面里了,这是直接存进数据库,数据库里所显示的内容
HTML复制代码
var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");
document.write(unescape("%3Cscript src=&#039;" + _bdhmProtocol + "hm.baidu.com/h.js%3Fe6e36dac7b359ef191b37e496036e56b&#039; type=&#039;text/javascript&#039;%3E%3C/script%3E"));
复制代码
 楼主| 发表于 2011-7-12 08:49:02 | 显示全部楼层
zhaobin693 发表于 2011-7-12 08:47
我存的是一段javascript代码,其中这对标签已经在页面里了,这是直接存进数据库,数据库里所显示的内容
...

可以看出其中的双引号和斜杠都被转义字符所代替了,从数据库里读出来也是这样的
原来的格式应该是这样的
HTML复制代码
var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");
document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3Fe6e36dac7b359ef191b37e496036e56b' type='text/javascript'%3E%3C/script%3E"));
复制代码
 楼主| 发表于 2011-7-12 08:58:38 | 显示全部楼层
数据库里的相关字段是这样子的
corp_baiduStat        text        gb2312_chinese_ci                是        NULL       
发表于 2011-7-12 09:26:33 | 显示全部楼层
xss 过滤手动开启。。。
发表于 2011-7-16 11:20:20 | 显示全部楼层
学习了
{:soso_e103:}
发表于 2011-7-16 11:20:46 | 显示全部楼层
学习了
{:soso_e103:}

评分

参与人数 1威望 -6 收起 理由
jeongee -6 重复发帖

查看全部评分

发表于 2011-8-11 09:42:31 | 显示全部楼层

本版积分规则