使用htmlspecialchars_decode(stripslashes($ variable))时,CKEditor输出文本与输入不匹配

时间:2013-05-09 11:00:11

标签: php html ckeditor

我正在尝试使用CKEditor将富文本输入到我的数据库中,当我尝试输出用户输入的富文本格式时格式不一样。图片等元素的位置不正确。

我目前有以下代码:

输入:

$pitch = htmlspecialchars($_POST['editor1']);
$sql = mysql_query("UPDATE projects SET pitch='$pitch' WHERE id='$proj_id'");

输出:

$pitch = htmlspecialchars_decode(stripslashes($pitch));

然后回显结果,这会产生不正确的格式。Input and result of code

有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:1)

这与PHP无关。

框架编辑器(您使用的)的内容由contents.css文件设置样式,您可以在主CKEditor目录中找到该文件。但是,此样式表未在您的页面上使用,因此在编辑器中创建的内容不会使用相同的规则进行样式设置。

正确的方法是 - 在您的网站上设置样式内容,然后在编辑器内容中复制(或以某种方式重复使用,例如通过设置config.bodyClassconfig.contentsCss)这些样式。

请记住,您还需要在样式下拉列表中设置可用的样式。默认情况下,它们是针对示例配置的,但是当您更改可用样式时,还需要更新styles.js文件。