我有一个表格,我也可以写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中我得到了这个结果:
<b>Hello</b>
我必须保持每个HTML的原样。如果我写<b>
,我必须在数据库中保存<b>
。我尝试了转义,html etities,引号,条带斜线(...)但是这个人一直以错误的方式保存所有内容。
P.S。在你问之前,描述字段是带有UTF-8编码的TEXT tupe。
答案 0 :(得分:0)
您是否尝试在上述值中使用http://php.net/manual/en/function.htmlspecialchars-decode.php?这应该完全符合您的要求。
尝试跑步:
$sStr = '<b>Hello</b>';
echo htmlspecialchars_decode($sStr);
它将被正确编码。将数据提供给数据库会存储正确的值。
此外,但这更像是一个侧面通知,你真的不应该保存帖子数据而不验证输入。我认为这只是一个简单的例子而不是生产代码?但是,只是一个建议。
答案 1 :(得分:-1)
你需要逃离这个条目。如果您使用的是mysql方法,则需要mysql_escape_string函数,如:
$string = mysql_escape_string("<br>Hello</br>");