如何从包含HTML标识符的字符串中解析出文本?

时间:2011-07-26 14:01:58

标签: c#

我的网页包含带有HTML的文本区域。例如,这是一个文本样本:

var a = "some text follows<p><p>Give the following test text:</p>
<pre>abc {<br />    int size;<br />    String name;<br />    Test ( String name, int size ) {<br />        this.name = name;<br />        this.size = size;<br />    }<br>"

我想在删除HTML后,使用上面的文字为我的网页设置META说明。

有没有人知道如何从文本中删除HTML。我不需要任何花哨的东西。也许只是删除内部和包括尖括号的所有内容都可以解决问题?

2 个答案:

答案 0 :(得分:0)

这可能有所帮助:

var a = "some text follows<p><p>Give the following test text:</p>"

var newString = Regex.Replace(a, @"<(.|\n)*?>", string.Empty);

结果

some text followsGive the following test text:

答案 1 :(得分:0)

使用

string html = "your html text";
string result = System.Web.HttpUtility.HtmlEncode(html);

或者:

string html = "your html text";
string result = System.Security.SecurityElement.Escape(html);

测试:

var a = "some text follows<p><p>Give the following test text:</p>
<pre>abc {<br />    int size;<br />    String name;<br />    Test ( String name, int size ) {<br />        this.name = name;<br />        this.size = size;<br />    }<br>"

结果:

"some text follows&lt;p&gt;&lt;p&gt;Give the following test text:&lt;/p&gt;
&lt;pre&gt;abc {&lt;br /&gt;    int size;&lt;br /&gt;    String name;&lt;br /&gt;    Test ( String name, int size ) {&lt;br /&gt;        this.name = name;&lt;br /&gt;        this.size = size;&lt;br /&gt;    }&lt;br&gt;"