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

3
我有一个文本域,使用了所见即所得编辑器,以便用户可以根据自己的需要格式化文本:更改颜色、加粗、调整大小等。问题是,在将数据插入表格并检索行后,我看不到格式,只看到纯文本。在插入文本时是否需要采取措施以避免失去格式?我的表格 collation 设置为 utf8_unicode_ci。
这是 HTML 代码,我正在使用 AJAX 发送表单,因此没有 name 属性。
<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();

你正在插入文本之前剥离标签 (strip_tags())... - Sverri M. Olsen
1个回答

5

strip_tags 函数用于从值中剥离 html/php 标签。

我猜测您使用的所见即所得编辑器会输出 html 数据,因此使用 strip_tags 函数可以取消格式化。


更新:通过 pdo 绑定查询参数时会转义插入的数据。

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

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


谢谢,但是当我检索行时,它输出为style="font-size:24px;color:rgb(255, 0, 0);">test而不是显示格式。 - user2666864

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接