在mysql数据库中保存格式化文本

时间:2013-08-10 21:45:39

标签: php html ajax

我有一个textarea,我正在使用WYSIWYG编辑器,以便用户可以根据需要格式化文本:更改颜色,制作粗体,更改大小等。问题是我将数据插入表并检索行,我没有看到格式,只是纯文本。插入文本时是否应该做些什么而不是松散格式?我的表collation设置为utf8_unicode_ci

这是html,我使用ajax发送表单,所以我没有名称属性

<textarea  id="description" class="jqte-test" ></textarea>

插入查询如下:

$desc = trim(strip_tags($_POST["description"]));
$insert = $mysqli->prepare("insert into `test`(`description`) values(?)");
echo $mysqli->error;
$insert->bind_param('s', $desc);
$insert->execute();

1 个答案:

答案 0 :(得分:5)

strip_tags用于从值中删除html / php标记。

我猜你使用WYSIWYG编辑器输出html数据,所以使用strip_tags函数取消格式化。


UPDATE:当您通过pdo将参数绑定到查询时,它会转义插入的数据。

插入数据时应用htmlspecialchars($ value,ENT_QUOTES)

并且在显示数据时应用htmlspecialchars_decode($ value,ENT_QUOTES)