2009-12-06 83 views
1

我在我的网站上有我想要自动更正和翻译的文章。但我需要获取内容,而不需要HTML标签。匹配HTML输入的所有文本内容的正则表达式

这个想法是有一个正则表达式,可以检索标签之间的所有内容(如果可能的话,还可以在标签字段中找到的内容,如<img alt='Little house'>)。问题是我不知道如何编写这样的正则表达式。有任何想法吗?

+0

在浏览器中呈现html并复制文本? – 2009-12-06 15:08:14

+3

:P http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – Mottie 2009-12-06 15:15:04

回答

2

我会推荐使用HTML parser,而不是依赖于正则表达式。用正则表达式解析HTML通常是否定的,几乎不可能适用于所有情况。这里有很多关于SO的问题得出了相同的结论。

编辑看起来像我们中的几个人有相同的想法...另外,here is a question讨论更多的解析器。

1

也许一个正则表达式并不是这份工作的最佳选择(我会免除你的强制性tirade)。

我会建议你看看HTML解析库来帮助你在这里,像Html Agility Pack

1

随着人们说,正则表达式是不是最推荐的方式,但如果你决定,正则表达式是要走的路,这应该让你开始:

string pattern = @"(<(/?[^>]+)>)" 
strippedString = Regex.Replace(str, pattern, string.Empty); 
0

不知道这是否帮助,但我有能够将我网站上的文章翻译成读者首选的语言,我使用Bing translation widget来完成此操作,所以我不会对html进行任何解析,这些都是为我完成的。

相关问题