MySQL API - 存储HTML标记

时间:2014-11-04 00:44:54

标签: php html mysql

我有一个表格,我也可以写HTML标签。我必须保存这个textarea保留每个HTML标记。所以这是代码:

foreach($_POST["comment"] AS $key => $value)
{
    mysql_query("UPDATE comments SET title= '".$value["title"]."', comment = '".$value['comment']."' WHERE id = '".$value["id"]."'");
}

当我尝试保存时:

<b>Hello</b>

在MySQL中我得到了这个结果:

&lt;b&gt;Hello&lt;/b&gt;

我必须保持每个HTML的原样。如果我写<b>,我必须在数据库中保存<b>。我尝试了转义,html etities,引号,条带斜线(...)但是这个人一直以错误的方式保存所有内容。

P.S。在你问之前,描述字段是带有UTF-8编码的TEXT tupe。

2 个答案:

答案 0 :(得分:0)

您是否尝试在上述值中使用http://php.net/manual/en/function.htmlspecialchars-decode.php?这应该完全符合您的要求。

尝试跑步:

$sStr = '&lt;b&gt;Hello&lt;/b&gt;'; echo htmlspecialchars_decode($sStr);

它将被正确编码。将数据提供给数据库会存储正确的值。

此外,但这更像是一个侧面通知,你真的不应该保存帖子数据而不验证输入。我认为这只是一个简单的例子而不是生产代码?但是,只是一个建议。

答案 1 :(得分:-1)

你需要逃离这个条目。如果您使用的是mysql方法,则需要mysql_escape_string函数,如:

$string = mysql_escape_string("<br>Hello</br>");