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

标签 php html ajax

我有一个文本区域,我正在使用所见即所得编辑器,以便用户可以根据需要设置文本格式:更改颜色、加粗、更改大小等。问题是在我将数据插入表并检索行,我看不到格式,只是纯文本。插入文本时我应该做些什么以免丢失格式?我的表 collat​​ion 设置为 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/

相关文章:

php - 仅当用户向下滚动时才加载部分页面的简单方法?

php - 从 PDO 增加 SQLite 中附加数据库的限制

jquery - 在 jquery 或 javascript 中清除浏览器历史记录,以便用户无法单击后退按钮?

javascript - 使用 ajax GET 请求测试 Django 模板 - ajax 请求未调用

java - jquery ajax-从函数获取响应字符串

jquery - 当我 jQuery AJAX 调用路由时需要 MVC 路由帮助

javascript - 每次创建新帖子时如何取消选中自定义元框中的复选框值?

javascript - 单击复选框将输入更改为 css

html - 为什么即使没有为包含 block 给出明确的宽度值,百分比宽度仍然有效?

php - Windows 上的 Symfony2 framework.ide 设置