当前位置:编程学习 > C#/ASP.NET >>

怎么在显示的时候去掉样式字符

我用的是fcdeditor编辑器。把word文档中 的文字内容复制到该编辑器中后,
然后保存到数据库。
当用datalist列表读出该字段的时候怎么把里面的样式去掉,只要里面的字段。
因为我想在前台页面只显示里面的一部分字数。

对了,加入还有图片的话,能不能也去掉,只显示文字。

下面就是用datalist来显示该字段的代码。

 <td height="50" colspan="2"><%# Eval("body").ToString().Length >= 100 ? Eval("body").ToString().Replace(" ", " ").Substring(0, 100) + "...." : Eval("body").ToString().Replace(" ", " ")%></td>



因为内容样式太多时,显示的文字太少。
同时当文章顶端放图片的时候,也把图片该显示出来了,
结论:我想只显示文字。
望各位高手指点,谢谢! --------------------编程问答-------------------- 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文件(英文,简体中文,繁体中文一般应该够用了:) ) 


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

/// <summary>
        /// 替换瘦文本框中的空格、大于号、小于号以及软回车,自动转换Email、HTTP地址
        /// </summary>
        /// <param name="content"></param>
        /// <returns></returns>
        public static String EncodeTextBox(String content)
        {
            StringBuilder sbContent = new StringBuilder(content);

            sbContent = sbContent.Replace("<", "<");//处理小于号   
            sbContent = sbContent.Replace(">", ">");//处理大于号   
            sbContent = sbContent.Replace("\"", """);//处理双引号

            //替换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("  ", "  ");//处理空格   

            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(""", "\"");//处理双引号
            sbContent = sbContent.Replace("  ", "  ");//处理空格   
            sbContent = sbContent.Replace("<", "<");//处理小于号   
            sbContent = sbContent.Replace(">", ">");//处理大于号   
            sbContent = sbContent.Replace("<br />", "\n");//处理换行   

            return sbContent.ToString();
        }




希望能给你帮助
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,