从 PHP 编写 CKEditor 编辑的 HTML 文件

Posted

技术标签:

【中文标题】从 PHP 编写 CKEditor 编辑的 HTML 文件【英文标题】:Writing CKEditor edited HTML file from PHP 【发布时间】:2014-06-23 11:29:22 【问题描述】:

我正在使用CKEditor,我想将编辑后的 ​​html 保存到一个文件中。为此,我使用以下代码:

if (isset($_POST['editor']) && !empty($_POST['editor']))

    $data = $_POST['editor'];
    $path = "uploads/".generateRandomString().".html";
    $file = fopen($path, "w"); 
    fwrite($file, $data);
    fclose($file);

问题是,如果我在编辑器中编辑一些东西,而源代码是:

<p><img  src="http://zns.india.com/upload/2013/12/29/PITBULL319.jpg" style="height:351px; width:319px" /></p>

当我将它保存到文件时,源代码竟然是:

<p><img  src="\&quot;http://zns.india.com/upload/2013/12/29/PITBULL319.jpg\&quot;" style="\&quot;height:351px;" width:319px\"=""></p>

我猜这是格式问题,但我不知道如何解决。即使尝试替换 \&amp;quot(实际上显示为 \"),它仍然看起来不一样。

我将不胜感激任何建议。提前致谢!

【问题讨论】:

html_entity_decode 在这里可能会对您有所帮助。 我刚试过,没有任何区别。还是谢谢。 如果我通过修改以下行来使用 utf8_encode:$data = utf8_encode($_POST['editor']);,则没有任何变化。这是我应该做的吗? 【参考方案1】:

我使用stripslashes() 函数解决了这个问题。 $data = stripslashes($_POST['editor']);

问题出在 php 自动启用的 magic_quotes 中。谢谢大家!

【讨论】:

以上是关于从 PHP 编写 CKEditor 编辑的 HTML 文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery 从 CKEditor 的 iframe 中抓取内容

文本编辑器的使用(ckeditor/ueditor)

关于php的ckeditor编辑文本

在 CKEditor 中使用内联编辑将数据保存到 PHP/Mysql

PHP ckeditor富文本编辑器 结合ckfinder实现图片上传功能

CKEditor 不会加载 php 变量