例如:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>title</title>
</head>
<body>
<a href="aaa.asp?id=1"> I want to get this text </a>
<div>
<h1>this is my want!!</h1>
<b>this is my want!!!</b>
</div>
</body>
</html>
结果是:
I want to get this text
this is my want!!
this is my want!!!
答案 0 :(得分:30)
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
string s = doc.DocumentNode.SelectSingleNode("//body").InnerText;
答案 1 :(得分:16)
使用此功能......
public string Strip(string text)
{
return Regex.Replace(text, @"<(.|\n)*?>", string.Empty);
}
答案 2 :(得分:1)
我建议使用类似HTMLTidy.
的内容Here's a tutorial就可以帮助您入门。
答案 3 :(得分:0)
为什么要将其作为服务器端?
为此,您必须创建容器元素runat="server"
,然后获取元素的innerText
。
您可以在javascript中执行相同的操作,而无需使元素runat =“server”
答案 4 :(得分:0)
如果您只想删除html标签,请使用正则表达式删除“&lt;”之间的任何内容和“&gt;”。
答案 5 :(得分:0)
您可以从下面的这个简单功能开始。 免责声明:此代码适用于基本HTML,但不会处理所有有效的HTML情况和边缘情况。引号内的标签就是一个例子。这段代码的优点是你可以轻松地在调试器中执行,并且可以很容易地修改它以适合特定于你的边缘情况。
public static string RemoveTags(string html)
{
string returnStr = "";
bool insideTag = false;
for (int i = 0; i < html.Length; ++i)
{
char c = html[i];
if (c == '<')
insideTag = true;
if (!insideTag)
returnStr += c;
if (c == '>')
insideTag = false;
}
return returnStr;
}