从 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="\"http://zns.india.com/upload/2013/12/29/PITBULL319.jpg\"" style="\"height:351px;" width:319px\"=""></p>
我猜这是格式问题,但我不知道如何解决。即使尝试替换 \&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 中使用内联编辑将数据保存到 PHP/Mysql