FCKeditor是sourceforge.net上面的一个开源项目,主要是实现在线网页编辑器的功能,可以让web程序拥有如MS Word这样强大的编辑功能。官方网站为http://www.fckeditor.net ,在服务器端支持ASP.Net、ASP、ClodFusion、PHP、Java等语言,并且支持IE 5+、Mozilla 、Netscape等主流浏览器。 
首先在官方网站下载fckeditor,注意有两个包,一个是主文件,一个是jsp整合包的。 上传文件设置简洁 
fckconfig.js http://hi.baidu.com/goga/blog/item/9aaddbb43d09db728ad4b2da.html
1、解压FCKeditor_2.2.zip,(FCKeditor主文件),将FCKeditor目录复制到网站根目录下, 
2、解压FCKeditor-2.3.zip,(jsp,FCKeditor整合包),作用:This is the JSP Integration Pack for using FCKeditor inside a java server page without the complexity of using a Java scriptlets or the javascript api. 
3、将FCKeditor-2.3/web/WEB-INF/web.xml中的两个servlet,servlet-mapping定义复制到自已项目的web.xml文件中 
修改如下内容: 
<servlet-mapping> 
<servlet-name>Connector </servlet-name> 
<url-pattern> 
/editor/filemanager/browser/default/connectors/jsp/connector 
</url-pattern> 
</servlet-mapping> <servlet-mapping> 
<servlet-name>SimpleUploader </servlet-name> 
<url-pattern>/editor/filemanager/upload/simpleuploader </url-pattern> 
</servlet-mapping> 
修改结果: 
<servlet-mapping> 
<servlet-name>Connector </servlet-name> 
<url-pattern> 
/FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector 
</url-pattern> 
</servlet-mapping> <servlet-mapping> 
<servlet-name>SimpleUploader </servlet-name> 
<url-pattern>/FCKeditor/editor/filemanager/upload/simpleuploader </url-pattern> 
</servlet-mapping> 
4、将FCKeditor-2.3/web/WEB-INF/lib目录下文件复制到自已项目的lib文件夹中 
5、在需使用FCKeditor的jsp界面中加入: // 文件开头处加入 
//要使用的地方加入 
<FCK:editor id="content" basePath="/FCKeditor/" 
imageBrowserURL="/FCKeditor/editor/filemanager/browser/default/browser.html? 
Type=Image&Connector=connectors/jsp/connector" 
linkBrowserURL="/FCKeditor/editor/filemanager/browser/default/browser.html? 
Connector=connectors/jsp/connector" 
flashBrowserURL="/FCKeditor/editor/filemanager/browser/default/browser.html? 
Type=Flash&Connector=connectors/jsp/connector" 
imageUploadURL="/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Image" 
linkUploadURL="/FCKeditor/editor/filemanager/upload/simpleuploader?Type=File" 
flashUploadURL="/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Flash"> 
this is default content :) 
</FCK:editor> 启动服务器测试…成功后,来给FCKeditor瘦瘦身. 
1、将FCKeditor目录下及子目录下所有以”_”下划线开头的文件夹删除 
2.FCKeditor根目录下只保留fckconfig.js, fckeditor.js, fckstyles.xml, fcktemplates.xml其余全部删除 
3.将editor/filemanager/upload目录下文件及文件夹清空. 
4.还可以将editor/skins目录下的皮肤文件删除,只留下default一套皮肤(如果你不需要换皮肤的话) 
5.还可以将editor/lang目录下文件删除,只保留en.js, fcklanguagemanager.js, zh-cn.js, zh.js文件(英文,简体中文,繁体中文一般应该够用了:) ) 
完成。 

解决方案 »

  1.   

    楼主和我碰到的问题一样,不过我用的是freetextbox,我是通过js控制,把img设置为style.display="none",把文字的格式过滤掉,不知道有没有更好的办法,关注下
      

  2.   


    /// <summary>
            /// 替换瘦文本框中的空格、大于号、小于号以及软回车,自动转换Email、HTTP地址
            /// </summary>
            /// <param name="content"></param>
            /// <returns></returns>
            public static String EncodeTextBox(String content)
            {
                StringBuilder sbContent = new StringBuilder(content);            sbContent = sbContent.Replace("<", "&lt;");//处理小于号   
                sbContent = sbContent.Replace(">", "&gt;");//处理大于号   
                sbContent = sbContent.Replace("\"", "&quot;");//处理双引号            //替换URL
                Regex regUrl = new Regex(@"(http:\/\/[\w.]+(\/?\w+)+[.a-zA-Z0-9\?=\/]+)", RegexOptions.IgnoreCase | RegexOptions.Compiled);
                sbContent = new StringBuilder(regUrl.Replace(sbContent.ToString(), "<a href=\"$0\" target=\"_blank\">$0</a>"));            //替换Email
                Regex regEmail = new Regex(@"([a-zA-Z_0-9.-]+\@[a-zA-Z_0-9.-]+\.\w+)", RegexOptions.IgnoreCase | RegexOptions.Compiled);
                sbContent = new StringBuilder(regEmail.Replace(sbContent.ToString(), "<a href=\"mailto:$0\">$0</a>"));            sbContent = sbContent.Replace("\n", "<br />");//处理换行   
                sbContent = sbContent.Replace("  ", "&nbsp;&nbsp;");//处理空格               return sbContent.ToString();
            } /// <summary>
            /// 与EncodeTextBox方法作用相反
            /// </summary>
            /// <param name="content"></param>
            /// <returns></returns>
            public static String DecodeTextBox(String content)
            {
                StringBuilder sbContent = new StringBuilder(Utility.DropHtmlTags(content)); //去掉html标签            sbContent = sbContent.Replace("&quot;", "\"");//处理双引号
                sbContent = sbContent.Replace("&nbsp;&nbsp;", "  ");//处理空格   
                sbContent = sbContent.Replace("&lt;", "<");//处理小于号   
                sbContent = sbContent.Replace("&gt;", ">");//处理大于号   
                sbContent = sbContent.Replace("<br />", "\n");//处理换行               return sbContent.ToString();
            }
    希望能给你帮助