【问题标题】:ckeditor conflicting with double quotes from html renderingckeditor 与 html 渲染中的双引号冲突
【发布时间】:2017-07-31 17:03:11
【问题描述】:

Ck 编辑器应用用双引号括起来的类属性格式化文本,但由于某种原因,我的应用程序一直拒绝这种格式,我正在收集表单内容并将数据传递给 JSON.stringify 以创建一个 .json 文件保存 textarea 字段内容,保存时添加到包含双引号冲突的 html 的格式,并且 json 理解双引号是对象的分隔符。

所以它裁剪了标签形成的开头,在这个例子中它重复了我只格式化红线的帧的结尾,但是在刷新时它会返回一个 ">从格式化文本的最后一行丢失了。

如果检查字符串的代码,格式化文本没有开始标记。

非常感谢和奖励一些帮助。

如果可能的话,我希望能够在没有双引号的情况下格式化文本内容。

更新

包含 3 个字段的整个表单的原始 JSON。

{"qualifyAmount":"35","above_price":"<p>You just got a superb <strong>Free Shipping</strong> with your order values of <span style=\"font-size:14px\"><span style=\"color:#c0392b\">cartPriceTotal</span></span></p>\n","below_price":"<p>You get <strong>free</strong> shipping when ordering &pound;35+, just add another... cartPriceRemaining</p>\n\n<p><span style=\"color:#c0392b\">Limited offer!</span></p>\n\n<p>&nbsp;</p>\n"}

【问题讨论】:

  • 你需要修复你的代码来处理双引号。
  • 向我们展示如何创建和处理 json。使用适当的 json 序列化程序通常会完成所有需要的转义
  • 我更新了问题g,显示从文件的文本字段 2 创建的原始 json 正在使用 ckeditor #above_price #below_price
  • 出于某种原因,如果我让液体内容在另一个文本区域中呈现,然后获得如下内容,则效果很好: $("textarea#above_price").text($(".successMessage" )。文本());并保存它,我得到了正确的代码格式!但是我必须复制内容才能获得正确的内容,为什么它不能正确格式化内容并将液体插入#above_price textarea?

标签: javascript jquery liquid


【解决方案1】:

试试这样的代码:

在将编辑器内容保存到数据库和文件之前,我先这样做:

$content = htmlspecialchars($editorcontent, ENT_QUOTES);

当从数据库中检索内容时,我会在将其加载到编辑器之前执行此操作:

html_entity_decode($contentfromdb, ENT_QUOTES);

我希望这会有所帮助。

【讨论】:

  • 所以你建议从编辑器中获取字符串格式化它而不使用引号或转义它以将其保存到数据库然后再次格式化它们?我正在使用液体来呈现文本区域代码我不确定,但它可能主要是输出错误的液体,但我尝试了所有过滤器来格式化输出转义,替换引号但由于某种原因,因为它的 html 内容编辑器循环再次双引号导致此冲突
猜你喜欢
  • 2012-11-20
  • 1970-01-01
  • 2021-08-07
  • 1970-01-01
  • 1970-01-01
  • 2019-12-20
  • 2017-06-10
  • 2015-01-03
  • 2018-09-27
相关资源
最近更新 更多