我有一个文本区域,我正在使用所见即所得编辑器,以便用户可以根据需要设置文本格式:更改颜色、加粗、更改大小等。问题是在我将数据插入表并检索行,我看不到格式,只是纯文本。插入文本时我应该做些什么以免丢失格式?我的表 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();
最佳答案
strip_tags用于从值中去除 html/php 标签。
我猜想您使用的 WYSIWYG 编辑器会输出 html 数据,因此通过使用 strip_tags 函数您可以取消格式化。
更新:当您通过 pdo 将参数绑定(bind)到查询时,它会转义插入的数据。
插入数据时应用htmlspecialchars ($value, ENT_QUOTES)
并在显示数据时应用htmlspecialchars_decode ($value, ENT_QUOTES)
关于php - 在mysql数据库中保存格式化文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18166638/