C#删除HTML代码并组合段落

时间:2011-10-11 09:06:52

标签: c# string

我有以下输入:

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc a dignissim purus. Curabitur enim nibh, tempor id lobortis tincidunt, adipiscing ac felis. Nunc interdum ullamcorper tortor non elementum. Praesent felis mauris, volutpat eu cursus nec, luctus vel odio.</p>

<p>Morbi elementum nunc at nulla iaculis tincidunt. Vivamus sit amet sapien vel enim lacinia ultrices sit amet ac urna. Sed semper mauris id nulla consectetur viverra. Quisque eget leo nisl. Etiam et risus sapien. Aenean vitae ante et erat tincidunt ullamcorper vel a odio. Integer hendrerit turpis et enim convallis rhoncus pharetra enim ullamcorper. Suspendisse porta mollis purus, in lacinia nunc sollicitudin vel. Nam id ligula mi.</p>

如何在没有HTML代码的情况下获得输出(这很容易)但是段落的组合?像这样:

  

Lorem ipsum dolor坐下来,精神上的精神。 Nunc a   dignissim purus。 Curabitur enim nibh,tempor id lobortis tincidunt,   adipiscing ac felis。 Nunc interdum ullamcorper tortor non elementum。   Praesent felis mauris,volutpat eu cursus nec,luctus vel odio。 Morbi   在nulla iaculis tincidunt的元素nunc。 Vivamus坐在amet sapien vel   enim lacinia ultrices sit amet ac urna。 Sed semper mauris id nulla   consectetur viverra。 Quisque eget leo nisl。 Etiam et risus sapien。   Aenean vitae ante et erat tincidunt ullamcorper vel aodio。整数   hendrerit turpis et enim convallis rhoncus pharetra enim ullamcorper。   Suspendisse porta mollis purus,在lacinia nunc sollicitudin vel。南   id ligula mi。

由于

3 个答案:

答案 0 :(得分:4)

使用像HTML Agility Pack这样的HTML解析器,它非常简单:

// remove the html tags
var doc = new HtmlDocument();
doc.LoadHtml(htmlString);
string result = doc.DocumentNode.InnerText;

// remove the line breaks
result = result.Replace("\r", "");
result = result.Replace("\n", "");

答案 1 :(得分:0)

只需阅读html并将<p></p>替换为"",同时删除新行(\r\n),我认为你很高兴

答案 2 :(得分:0)

一旦轻松删除了HTML,就可以使用正则表达式删除过多的空格:

string input = "Lorem ipsum dolor sit amet, consectetur \r\n Morbi elementum nunc at nulla.";
string pattern = @"\s+";
string replacement = " ";
string output = Regex.Replace(input, pattern, replacement);