zhaobin693 发表于 2011-7-11 18:00:02

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

本帖最后由 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手册,很有用!


jeongee 发表于 2011-7-11 18:39:21

本帖最后由 jeongee 于 2011-7-11 18:40 编辑

直接存,你不转义就好了或者转义也没关系,显示之前再转回来

zhaobin693 发表于 2011-7-12 08:47:08

jeongee 发表于 2011-7-11 18:39 static/image/common/back.gif
直接存,你不转义就好了或者转义也没关系,显示之前再转回来

我存的是一段javascript代码,其中<javascript></javascript>这对标签已经在页面里了,这是直接存进数据库,数据库里所显示的内容
var _bdhmProtocol = ((&quot;https:&quot; == document.location.protocol) ? &quot; https://&quot; : &quot; http://&quot;);
document.write(unescape(&quot;%3Cscript src='&quot; + _bdhmProtocol + &quot;hm.baidu.com/h.js%3Fe6e36dac7b359ef191b37e496036e56b' type='text/javascript'%3E%3C/script%3E&quot;));

zhaobin693 发表于 2011-7-12 08:49:02

zhaobin693 发表于 2011-7-12 08:47 static/image/common/back.gif
我存的是一段javascript代码,其中这对标签已经在页面里了,这是直接存进数据库,数据库里所显示的内容
...

可以看出其中的双引号和斜杠都被转义字符所代替了,从数据库里读出来也是这样的
原来的格式应该是这样的
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"));

zhaobin693 发表于 2011-7-12 08:58:38

数据库里的相关字段是这样子的
corp_baiduStat        text        gb2312_chinese_ci                是        NULL       

幽蓝冰魄 发表于 2011-7-12 09:26:33

xss 过滤手动开启。。。

chchmlml 发表于 2011-7-16 11:20:20

学习了
{:soso_e103:}

chchmlml 发表于 2011-7-16 11:20:46

学习了
{:soso_e103:}

s505208718 发表于 2011-8-11 09:42:31

:D:D:D
页: [1]
查看完整版本: 如何将一段HTML代码原封不动的存入MySQL