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

关于html 字符串的截取

我想做一个截取html文本段落  截取 <br/> 或者</p>  反正二者之一 一共截取3次  比如:<br/></p><br/> 或 </p><br/></p> 
就像博客的截取一部分 显示 然后点击查看全文
我现在只能截取<br/>  但是想截取</p> 确不行
 
 
public string formathtml(string Htmlstring)
        {
            string replacestring = "<br />|<br>";
            string Htmlstring1 = Regex.Replace(Htmlstring, replacestring, "<br/>");
            //Htmlstring = Regex.Replace(Htmlstring, @"<(/?)p>", "{p}", RegexOptions.IgnoreCase);
            //Htmlstring = Regex.Replace(Htmlstring, @"<br(\s/?)>", "{br}", RegexOptions.IgnoreCase);
            //Htmlstring = Regex.Replace(Htmlstring, @"<img (?<x>[^\>]*)>", "{img $1}", RegexOptions.IgnoreCase);
            //Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
            //Htmlstring = Regex.Replace(Htmlstring, @"{p}", "<p>", RegexOptions.IgnoreCase);
            //Htmlstring = Regex.Replace(Htmlstring, @"{br}", "<br>", RegexOptions.IgnoreCase);
            //Htmlstring = Regex.Replace(Htmlstring, @"{img(?<x>[^\>]*)}", "<img onload=DrawImage(this,50,45) $1>", RegexOptions.IgnoreCase);
            //string htmlcode = GetString("([\\br\\BR]*?)", Htmlstring).Trim();
            Regex r = new Regex("([\\S\\s]*?)<br/>");

            MatchCollection m = r.Matches(Htmlstring1);
            string value = "";
            if (m.Count > 3)
            {
                for (int i = 0; i < 3; i++)
                {
                    value += m[i].Groups[1].Value + "<br/>";
                }
                return value;
            }
            else
            {
                return Htmlstring1;
            }


        }

  请大家指点一下 --------------------编程问答-------------------- 顶~ 学习 --------------------编程问答-------------------- </p>是不是有大小的区分啊 --------------------编程问答-------------------- 大小写 无所谓 我可以转的  主要是为了 <br/> 和</p> 条件能共存  --------------------编程问答-------------------- Regex r = new Regex("([\\S\\s]*?)<(br|p)/?>",RegexOptions.IgnoreCase); --------------------编程问答-------------------- <(br|p)/?> </p> 是这样的格式吧 --------------------编程问答-------------------- 正则表达式的问题。

    protected void Page_Load(object sender, EventArgs e)
    {
        string str = " <table><tr><td >11111<br /></td><td><p>123456</p><p>123456</p><p>123456</p><p>123456</p></tr></table>";
        formathtml(str);
    }

    public string formathtml(string Htmlstring)
    {
        string Htmlstring1 = Regex.Replace(Htmlstring, "<p>123456</p>", "<p>1</p>");
        //Htmlstring = Regex.Replace(Htmlstring, @"<(/?)p>", "{p}", RegexOptions.IgnoreCase);
        //Htmlstring = Regex.Replace(Htmlstring, @"<br(\s/?)>", "{br}", RegexOptions.IgnoreCase);
        //Htmlstring = Regex.Replace(Htmlstring, @"<img (?<x>[^\>]*)>", "{img $1}", RegexOptions.IgnoreCase);
        //Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
        //Htmlstring = Regex.Replace(Htmlstring, @"{p}", "<p>", RegexOptions.IgnoreCase);
        //Htmlstring = Regex.Replace(Htmlstring, @"{br}", "<br>", RegexOptions.IgnoreCase);
        //Htmlstring = Regex.Replace(Htmlstring, @"{img(?<x>[^\>]*)}", "<img onload=DrawImage(this,50,45) $1>", RegexOptions.IgnoreCase);
        //string htmlcode = GetString("([\\br\\BR]*?)", Htmlstring).Trim();
        Regex r = new Regex("([\\S\\s]*?)<p>1</p>");

        MatchCollection m = r.Matches(Htmlstring1);
        string value = "";
        if (m.Count > 3)
        {
            for (int i = 0; i < 3; i++)
            {
                value += m[i].Groups[1].Value + "X" + i.ToString();
            }
            return value;
        }
        else
        {
            return Htmlstring1;
        }
    }
--------------------编程问答-------------------- <br/> </p> <br/> 或 </p> <br/> </p> 
这是固定的?
比如?
xxxxx<br/> </p> <br/>
xxxxx</p> <br/> </p> 
... --------------------编程问答-------------------- ding --------------------编程问答-------------------- 不是固定的 呵呵 我现在只能截取<br/> 把<br> <br /> 转译为<br/> --------------------编程问答-------------------- 学习学习 --------------------编程问答-------------------- 帮顶 --------------------编程问答--------------------  学习!!!!!! --------------------编程问答-------------------- 1 --------------------编程问答-------------------- dddddd --------------------编程问答-------------------- 顶 LZ UP!!!
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,