首页 新闻 会员 周边 捐助

.net中填充HTML未结束的标签

0
悬赏园豆:10 [已解决问题] 解决于 2013-02-05 10:00

查找字符串中的HTML标签是否有未结束的标签,要是没有 就填充结束标签!!

沅江的主页 沅江 | 初学一级 | 园豆:151
提问于:2013-01-25 16:58
< >
分享
最佳答案
0

好像有个SgmlReader的东西,你可以了解一下看有没有用。

收获园豆:5
I,Robot | 大侠五级 |园豆:9783 | 2013-01-29 10:56

 #region 闭合HTML代码
        public string CloseHTML(string str)
        {
            string[] HtmlTag = new string[] { "ul", "font", "b", "u", "i", "a", "h1", "h2", "h3", "h4", "h5", "h6", "tr", "td", "span", "div", "table", "p" };
            for (int i = 0; i < HtmlTag.Length; i++)
            {
                int OpenNum = 0, CloseNum = 0;
                Regex re = new Regex("\\<" + HtmlTag[i] + "( [^\\<\\>]+|)\\>", RegexOptions.IgnoreCase);
                MatchCollection m = re.Matches(str);
                if (m != null)
                {
                    OpenNum = m.Count;
                }
                re = new Regex("\\<\\/" + HtmlTag[i] + "\\>", RegexOptions.IgnoreCase);
                m = re.Matches(str);
                if (m != null)
                {
                    CloseNum = m.Count;
                }

                for (int j = 0; j < OpenNum - CloseNum; j++)
                {
                    str += "</" + HtmlTag[i] + ">";
                }
            }
            return str;
        }
        #endregion

 

我这样处理的  基本标签还是行了,样式也不会有好大的变化了,但添加的结束标签的顺序还有点问题

沅江 | 园豆:151 (初学一级) | 2013-02-05 10:02
其他回答(2)
0

这么智能,不大好实现吧,再说你也不知道要在哪加这个标签啊,标签是可以嵌套的奥……

收获园豆:3
滴答的雨 | 园豆:3660 (老鸟四级) | 2013-01-25 17:07

我做了一个对一篇文章分页的功能  但现在出现了样式不对,分页是截取字符串那样做的,然后就出现这样的问题了?

支持(0) 反对(0) 沅江 | 园豆:151 (初学一级) | 2013-01-25 17:10

@沅江: 这样啊!可否这样安排。

1、分页第一部分获取文章样式开始标签和结束标签,用相似性来判断是否匹对吧!不匹对就在下一个页中找到缺失结束标签,然后你的分页就在此结束标签或则此开始标签进行分页吧

2、类推……

支持(0) 反对(0) 滴答的雨 | 园豆:3660 (老鸟四级) | 2013-01-25 17:18

@Rich.T:这样很麻烦  耶

支持(0) 反对(0) 沅江 | 园豆:151 (初学一级) | 2013-01-25 17:59

@沅江: 那是不是可以考虑在提取页面做分页的地方,不要有这样的情况发生

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2013-01-26 14:21
0
收获园豆:2
Rich.T | 园豆:3440 (老鸟四级) | 2013-01-25 17:17

没看懂,能说下嘛

支持(0) 反对(0) 沅江 | 园豆:151 (初学一级) | 2013-01-25 17:19

@Rich.T: 这个是只对字符串检测有没有结束标签的  我的效果是检测到没有结束的标签就要补充上缺失的标签

支持(0) 反对(0) 沅江 | 园豆:151 (初学一级) | 2013-01-25 17:29

@沅江: 

理解了原理和代码自己还不会写吗

支持(0) 反对(0) Rich.T | 园豆:3440 (老鸟四级) | 2013-01-25 17:30

@Rich.T: 现在的问题是  要咋样确定缺失的标签的位置在什么地方

支持(0) 反对(0) 沅江 | 园豆:151 (初学一级) | 2013-01-25 17:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册