首页 > 解决方案 > 将文本从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']它并按预期工作时。

这里发生了什么?

标签: phpformscodeigniterckeditorwysiwyg

解决方案


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 转义变量。


推荐阅读