我有一个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();
答案 0 :(得分:5)
strip_tags用于从值中删除html / php标记。
我猜你使用WYSIWYG编辑器输出html数据,所以使用strip_tags函数取消格式化。
UPDATE:当您通过pdo将参数绑定到查询时,它会转义插入的数据。
插入数据时应用htmlspecialchars($ value,ENT_QUOTES)
并且在显示数据时应用htmlspecialchars_decode($ value,ENT_QUOTES)