php - 将文本从CKEditor保存到php中的phpobjects时出现奇怪的行为
问题描述
我正在使用 ckeditor 编辑模型描述字段。在我提出提交请求时更新数据时,我看到了一个奇怪的行为。
我set_value('description')
用来将 WYSIWYG 中的描述值设置为针对 php 对象键的值。
所以当set_value('description')
它第一次被调用时
<p>Testing</p>
而不是像保存它一样
<p>Testing</p>
但是当我再次调用相同的方法时,即set_value('description')
它返回预期的输出,即<p>Testing</p>
现在,当我切换到$_POST['description']
它并按预期工作时。
这里发生了什么?
解决方案
CI 函数 set_value() 有第三个参数,它可以防止 html 字符串被转义两次。
用法示例:set_value('description','a_value', false)
这里发生了什么(CI 3.x):
如果第三个参数未设置为 false,则第 712 行附近的system/helpers/form_helper.phpset_value()
具有调用该函数的函数html_escape($value)
,您可以在第 735 行附近的system/core/Common.php中找到该函数,并返回一个 HTML 转义变量。
推荐阅读
- c++ - 控制 cv::Mat 中的图像数据内存
- ios - 如何在 ios Swift 5 中使用多个欧元值总计数组,例如 ["£179.95"、"£199.95"、"£89.95"]
- c - 错误:未定义对 `ruserok` 的引用 - 在为 arm64 编译 PAM-1.1.8 时
- json - 我想在 POSTMAN 中使用 JSON 文件声明响应正文
- c# - 无法创建资源目录路径 Azure
- python - 如何获取焦点窗口的名称?
- android - 如果(条件)更改按钮中的图标
- xamarin.forms - 如何从后台线程更新 Ui - xamarin?
- azure-devops - 从存储库中的现有 YML 文件创建新管道 (Azure Pipelines)
- ios - Realm Swift嵌套递归列表未正确保存数据