首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drupal:尝试在CKeditor中使用GeSHi

Drupal:尝试在CKeditor中使用GeSHi
EN

Stack Overflow用户
提问于 2011-02-24 12:20:56
回答 2查看 1.6K关注 0票数 4

我希望在GeSHi中使用CKeditor,但我遇到了一些主要的困难。发生的情况是,如果我创建了一个新的内容,然后禁用CKeditor,这样我就可以在<pre> </pre>标记中包含一个代码片段。如果我随后保存,GeSHi会很好地完成它的工作,代码片段看起来也很好。

然而,如果我随后尝试编辑这段内容,CKeditor会在代码的格式上胡乱摆弄,特别是用特殊的转义序列替换许多字符,还试图关闭它认为是HTML标记但实际上是C++包含文件的内容,例如,#include <iostream>会让CKeditor在文本的末尾放置一个</iostream>。然后,在最好的情况下,我的代码看起来很糟糕。

在其他情况下,行为真的很奇怪:页面不会加载,而是给我一个服务器错误。我假设这是因为,在服务器端,CKeditor对代码片段所做的某些更改会导致GeSHi崩溃,反之亦然。

下面是一段示例代码,当我在纯文本编辑器中逐字输入并将其封装在<pre>标记中后,它看起来是正确的:

代码语言:javascript
复制
// All rights reserved
// Email: firstname.lastname@url.com
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include <iostream>
#include <fstream>

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

myClass::myClass()
{
    m_lthing = NULL;
    m_athing = NULL;
    m_bthing = NULL;

    m_lthingthing = NULL;
    m_athingthing = NULL;
    m_bthingthing = NULL;
}

但是,只需单击编辑,然后再次保存,而不做任何更改,会使CKeditor乱七八糟地处理代码,代码现在如下所示:

代码语言:javascript
复制
// All rights reserved
// Email: firstname.lastname@url.com
//////////////////////////////////////////////////////////////////////

#include &quot;stdafx.h&quot;
#include <iostream>
#include <fstream>

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

myClass::myClass()
{
    m_lthing = NULL;
    m_athing = NULL;
    m_bthing = NULL;

    m_lthingthing = NULL;
    m_athingthing = NULL;
    m_bthingthing = NULL;
}</fstream></iostream>

有人对此有什么想法吗,或者有人能推荐一个好的替代我现在正在使用的系统的方案吗?我并不是特别喜欢CKeditor或GeSHi,尽管到目前为止我对CKeditor很满意,而且我喜欢GeSHi做MATLAB格式化的事实。另外,根据下面的回答/评论,我已经尝试了Peter Petrik概述here的方法,但崩溃行为仍然发生。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-24 22:49:26

看看这个-这可能会对ckeditor-and-geshi-filter有帮助

票数 1
EN

Stack Overflow用户

发布于 2011-03-04 05:19:49

您使用的是哪个版本的Drupal/CKEditor/GeSHi?我会验证输入格式(管理/设置/过滤器),并确保您使用的任何格式都不会用额外的过滤器弄乱您的代码。还要验证允许的HTML标记。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5100310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档