Php CKEditor纯文本格式设置过多

Php CKEditor纯文本格式设置过多,php,linux,ckeditor,Php,Linux,Ckeditor,问题: CKEditor正在向纯文本中添加大量的标记,例如下面的示例 代码: 设置是一个php页面,调用ckeditor并将条目保存到PostgreSQL表中。我相信CKEditor上的大多数设置都是默认设置。下面是一些代码: include ('./ckeditor/ckeditor.php') ; $CKEditor = new CKEditor() ; $CKEditor->returnOutput = true; $CKEditor->basePath = '/ckedito

问题:

CKEditor正在向纯文本中添加大量的
标记,例如下面的示例

代码:

设置是一个php页面,调用ckeditor并将条目保存到PostgreSQL表中。我相信CKEditor上的大多数设置都是默认设置。下面是一些代码:

include ('./ckeditor/ckeditor.php') ;
$CKEditor = new CKEditor() ;
$CKEditor->returnOutput = true;
$CKEditor->basePath = '/ckeditor/';
$CKEditor->config['width'] = 560;
$CKEditor->config['height'] = 300;
$CKEditor->textareaAttributes =
                array("cols" => 90, "rows" => 70);
$CKEditor->config['DefaultLanguage'] = "sv" ;
//$CKEditor->config['EnterMode'] = CKEDITOR.ENTER_BR;
$config['toolbar'] = array(
        array( 'Source', '-', 'Bold', 'Italic', 'Underline', 'Strike', '-' ),
        array( 'Image', 'Link', 'Unlink', '-', 'Table', 'NumberedList','BulletedList' )
);
$config['skin'] = 'v2';
示例输入/输出(在源代码中):

输入:

En hel del av er
变成:

En <span data-scayt_word="hel" data-scaytid="2">hel</span> del 
<span data-scayt_word="av" data-scaytid="3">av</span> 
<span data-scayt_word="er" data-scaytid="4">er</span>
En-hel-del
影音
呃

有没有办法避免这种行为?

最简单的方法是:禁用拼写检查(scayt-键入时拼写检查)

如果要使SCAYT保持可用,但防止自动打开该功能:

$CKEditor->config['scayt_autoStartup'] = false;
但这是一种奇怪的行为,如何从ckeditor实例检索内容?只需尝试从firebug获取数据即可查看非脏内容:

console.log( CKEDITOR.instances.your_instance_name.getData() );

最简单的方法:禁用拼写检查(scayt-键入时拼写检查)

如果要使SCAYT保持可用,但防止自动打开该功能:

$CKEditor->config['scayt_autoStartup'] = false;
但这是一种奇怪的行为,如何从ckeditor实例检索内容?只需尝试从firebug获取数据即可查看非脏内容:

console.log( CKEDITOR.instances.your_instance_name.getData() );

我也遇到了这个问题,如果您想清理html源代码,可以使用以下sed命令:

cat scaytPolluted.html | sed -r 's/<span data-scayt_word="[^"]+" data-scaytid="[0-9]*">([^<]+)<\/span>/\1/g' > clean.html

cat scayt.html | sed-r的/我也遇到了这个问题,如果你想清理html源代码,你可以使用这个sed命令:

cat scaytPolluted.html | sed -r 's/<span data-scayt_word="[^"]+" data-scaytid="[0-9]*">([^<]+)<\/span>/\1/g' > clean.html

cat scaytpolicted.html | sed-r的/overkill要关闭插件,如果仍然需要,可以像在php中那样清理输出:

$output = preg_replace('/<span data-scayt_word="[^"]+" data-scaytid="[0-9]*">([^<]+)<\/span>/','$1',$input);

$output=preg_replace('/overkill要关闭插件,如果您仍然需要它,可以像在php中那样清理输出:

$output = preg_replace('/<span data-scayt_word="[^"]+" data-scaytid="[0-9]*">([^<]+)<\/span>/','$1',$input);

$output=preg_replace(“/我自己还没有编写php,但我越来越确信它正在将字符串直接插入数据库,而不是调用
getData()
。我已经用这个代码敲了几个小时了,不知道他是如何从ckeditor获取数据的。他有一个函数
changeNews
,其中
$summary
被插入数据库,但我看不出他是否调用过这个函数。啊,我们开始了。
$summary=$\u POST[“summary”]
所以,get设置在某个地方,我只需要找到那个地方。所以您有标准的php集成,没有ajax数据节省,等等。您的工具栏不包含拼写检查,所以只需禁用它(scayt)在config.CKEditor中,当wysiwyg iframe中的任何更改数据与textarea同步后,它就具有自动保存功能。当触发此操作时,所有混乱的代码都应该被清除,但scayt出于某种原因没有这样做。scayt的所有可用参数最终都能正常工作。只需使用“false”在启动时。起初,当我测试它时,它似乎不起作用,但这(可能)是因为我剪切并粘贴了一个示例,并且不知何故,ckeditor带来了隐藏的标记。谢谢!我自己还没有编写php,但我越来越确信它正在将字符串直接插入数据库中,而不是调用
getData()
。我已经用这个代码敲了几个小时了,不知道他是如何从ckeditor获取数据的。他有一个函数
changeNews
,其中
$summary
被插入数据库,但我看不出他是否调用过这个函数。啊,我们开始了。
$summary=$\u POST[“summary”]
所以,get设置在某个地方,我只需要找到那个地方。所以您有标准的php集成,没有ajax数据节省,等等。您的工具栏不包含拼写检查,所以只需禁用它(scayt)在config.CKEditor中,当wysiwyg iframe中的任何更改数据与textarea同步后,它就具有自动保存功能。当触发此操作时,所有混乱的代码都应该被清除,但scayt出于某种原因没有这样做。scayt的所有可用参数最终都能正常工作。只需使用“false”一开始,当我测试它时,它似乎不起作用,但(可能)是这样的因为我剪切并粘贴了一个样本,而ckeditor以某种方式带来了隐藏的标签。谢谢!谢谢你的回复。不幸的是,数据直接插入到数据库中,所以没有办法应用这样的解决方案。但是,问题解决了,我只是关闭了scayt,正如在评论中提到的。问题是使用了CKed的原始数据itor,而不是getData()函数。感谢您的回复。不幸的是,数据直接插入到数据库中,因此无法应用这样的解决方案。但是,问题解决了,我只是关闭了scayt,如注释中所述。问题是使用了CKeditor的原始数据,而不是getData()函数。问题是代码使用的是原始数据,而不是getData()函数。拼写与此无关,因为帖子将使用瑞典语,我认为scayt没有安装瑞典语包。@TLP“getData()获取编辑器数据。数据将采用原始格式。它与编辑器发布的数据相同。”与posted相同-是的,我再次查看它。问题是代码使用原始数据而不是getData()函数。拼写与此无关,因为posts将使用瑞典语,我认为scayt没有安装瑞典语包。@TLP“getData())获取编辑器数据。数据将为原始格式。它与编辑器发布的数据相同。“与发布的数据相同-是的,我再次查看它。