2013-04-08 125 views
-2

我想在mysql数据库中存储一些html代码,我没有这样做过,什么是在db中存储html的正确方法?如何在mysql中存储html代码?

$html_code='<div class="hello"><p>hello world</p></div>'; 

// database table 
part_name | html_code 
hello | ?? 
+0

'part_name | html_code hello | “这是什么? – Ejaz 2013-04-08 05:47:00

+0

[将HTML存储到MySQL数据库中]可能的重复(http://stackoverflow.com/questions/2641561/store-html-into-mysql-database) – Rikesh 2013-04-08 05:47:43

+3

你有没有在MySQL数据库中存储任何东西? – 2013-04-08 05:48:06

回答

3

我的建议是使用htmlpurifier来为你做它,净化输入,并删除所有恶意代码

否则,你写这样remove_special_chars($string)功能去除特殊字符像<>"与替换它们像&lt;&gt;&quot; ...并保存到你的分贝。 从db读取数据后,使用add_special_chars($string)等功能反之亦然,以显示内容。这并不容易,仍然不可靠

+0

@DannyBeckett,谢谢。我编辑了我的帖子 – Amir 2013-04-08 06:19:58

+0

为什么在db插入前删除标签? html应该按原样插入,并且只能在输出之前“消毒”。例如,如果''存储在用户的评论字段中,当我们尝试读取它时会发生什么,那么数据库中不存在恶意的html/j – 2013-04-08 06:53:25

+0

@DamienPirsy。 – Amir 2013-04-08 07:00:14