我做了一个新闻发布系统,当中有一个"新闻概要"的小模块,主要是取一个新闻内容的开头300字符.现实代码大概为:string S=this.FreeTextBox1.Text;
//判断内容字符长度是否大于300,若大于则全部显示为新闻概况,反之取前300个字符
if(S.Length<300)
{
S_newsshort=S;
}
else
{
S_newsshort=S.Substring(0,300)+"……";
}
然后再把S_newsshort插入到数据库,最后从前台页面显示.但现在问题出现了,如果我在编辑器前面插入图片或者表格的话,插入都没有问题,但当前台页面显示"新闻概要"的时候,就会出现混乱,显示的图片有的很大,或者显示的表格不规则,把整个页面都搞混乱了.我现在是想"新闻概要"不取图片或者表格的部分,只取纯文本的前300个字符.也就是前台页面显示编辑器中的文本部分,过滤掉图片或者表格的部分.
请问有方法实现吗?请高人指点一哈!! 谢过了

解决方案 »

  1.   

    调用这个函数就可以了哈. //*****拆取字符处理
            public static string StringSplit(string strTemp, int shortToLen, bool addPoint)
            {
                string strReturnSource = "";            byte[] sarr = System.Text.Encoding.Default.GetBytes(strTemp);            if (sarr.Length > shortToLen * 2)
                {
                    strReturnSource = System.Text.Encoding.Default.GetString(sarr, 0, shortToLen * 2).Replace(":", "").Replace("“", "").Replace("\n\r", "").Replace("\n", "").Replace("\r", "");
                    if (addPoint == true)
                    {
                        strReturnSource += "...";
                    }            }
                else
                {
                    strReturnSource = strTemp.Replace(":", "").Replace("“", "").Replace("\n\r", "").Replace("\n", "").Replace("\r", "");
                }
                //****返回拆分字符哈
                return strReturnSource;        }