日期:2014-05-19  浏览次数:20545 次

高人指点一下!怎么现实这种功能!过滤掉表格,图片的编码???
我做了一个新闻发布系统,当中有一个 "新闻概要 "的小模块,主要是取一个新闻内容的开头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个字符.也就是前台页面显示编辑器中的文本部分,过滤掉图片或者表格的部分.
请问有方法实现吗?请高人指点一哈!!   谢过了

------解决方案--------------------
调用这个函数就可以了哈.

//*****拆取字符处理
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;

}