您需要一些 AJAX 魔法。通过页面内的 JavaScript,您可以获得编辑后的 HTML。然后你把它发送到一个 PHP 脚本获取它的服务器,并可以将它传递给 MySQL。
这是一个简单的测试用例,它将向您展示绳索。
让我们从可编辑的 HTML 开始。
<div id='textToBeSaved' contenteditable='true'>
<p>Using the <strong>Terminal</strong> in OS X makes you all-powerful.</p>
</div>
我们还需要一个“保存”按钮,用于启动 POST 事件。
<button onclick='ClickToSave()'>Save</button>
我们可以将这样的按钮放置在 CKEditor 工具栏中,但这需要更多的编码,我会把它留给比我更擅长 JavaScript 的人。
当然你想包含 CKEditor。对于我的示例代码,我还将使用 jQuery,我将使用它来对结果进行 AJAX。
<script src='//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js' type='text/javascript'></script>
<script type='text/javascript' src='CKEditor4/ckeditor.js'></script>
现在是当您按下“保存”按钮时将执行的脚本。它将使用 CKeditor 抓取编辑后的 HTML,然后使用 jQuery 发送它。
<script type='text/javascript' language='javascript'>
// <![CDATA[
function ClickToSave () {
var data = CKEDITOR.instances.textToBeSaved.getData();
$.post('save.php', {
content : data
})
}
// ]]>
就是这样,你不需要任何其他客户端。
在服务器上,您必须拥有 PHP 代码,该代码将在脚本 POST 更新的 HTML 时起作用。如果您逐字使用我的代码,该脚本必须名为 save.php 并位于 HTML 所在的同一目录中。
我这里的单行只会将您的 HTML 保存在 /tmp 文件夹内的临时文件中。随意添加您的 MySQL 魔法。
<?php
file_put_contents('/tmp/serverside.html', $_POST['content']);
?>