关于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> 是这样的格式吧 --------------------编程问答-------------------- 正则表达式的问题。
--------------------编程问答-------------------- <br/> </p> <br/> 或 </p> <br/> </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;
}
}
这是固定的?
比如?
xxxxx<br/> </p> <br/>
xxxxx</p> <br/> </p>
... --------------------编程问答-------------------- ding --------------------编程问答-------------------- 不是固定的 呵呵 我现在只能截取<br/> 把<br> <br /> 转译为<br/> --------------------编程问答-------------------- 学习学习 --------------------编程问答-------------------- 帮顶 --------------------编程问答-------------------- 学习!!!!!! --------------------编程问答-------------------- 1 --------------------编程问答-------------------- dddddd --------------------编程问答-------------------- 顶 LZ UP!!!
补充:.NET技术 , ASP.NET