blog首页都是显示文章的简介 一般都是截取前300字符但是如果300字符中含有不完整的html代码 比如<table></table><td></td>这些东西 会影响到排版请问怎么解决 
给个实例

解决方案 »

  1.   

    我就是想知道那些bokee 等等BLOG大网站怎么做的?
    能在首页显示一部分内容 但是不出什么错
      

  2.   

    先截取300字符内容存入变量
    indexof下这变量中是否存在<table> </table> <td> </td> 这些html字符
    接下来自己把他补完整
    不知道这个思路可不可行.
    楼主没试过 可以试试看 就是麻烦一点
      

  3.   

    我说table td只是举个例子....还有tr div等等等.....貌似太多了
      

  4.   

    另外能不能告诉我去掉所有HTML标记 应该怎么做
      

  5.   

        public static string GetIndexArtText(string input, int start, int length)
        {        input = input.Length > 300 ? input.Substring(start, length) : input;
            input = GetIndexArtTextADD3(input, "'");
            input = GetIndexArtTextADD3(input, "\"");
            input = GetIndexArtTextADD1(input, "td");
            input = GetIndexArtTextADD1(input, "tr");
            input = GetIndexArtTextADD1(input, "table");
            input = GetIndexArtTextADD1(input, "div");        input = GetShowText(input);        return input;
        }    private static string GetIndexArtTextADD1(string input, string reg)
        {        int start = Article.GetIndexArtTextADD2(input, "<" + reg);
            int end = Article.GetIndexArtTextADD2(input, "</" + reg + ">");
            int num;
            if (start > end)
            {
                num = start - end;
                for (int i = 1; i <= num; i++)
                {
                    input = input + "</" + reg + ">";
                }            //return "end";
            }
            else if (start == end)
            {
                //return "none";
            }
            else
            {
                num = end - start;
                for (int i = 1; i <= num; i++)
                {
                    input = "<" + reg + ">" + input;
                }
                //return "start";
            }        return input;
        }    private static int GetIndexArtTextADD2(String input, string reg)
        {
            int output = 0;
            Regex zz = new Regex(reg);
            MatchCollection input2 = zz.Matches(input);
            for (int i = 0; i < input2.Count; i++)
            {
                output++;
            }
            return output;