【发布时间】:2009-12-06 15:02:58
【问题描述】:
我的网站上有一些文章希望自动更正和翻译。但我需要获取内容,而不需要 HTML 标签。
这个想法是有一个正则表达式,可以检索标签之间的所有内容(如果可能,还可以检索标签字段中的内容,如<img alt='Little house'>)。问题是我真的不知道如何编写这样的正则表达式。有什么想法吗?
【问题讨论】:
-
在浏览器中渲染html并复制文本?
我的网站上有一些文章希望自动更正和翻译。但我需要获取内容,而不需要 HTML 标签。
这个想法是有一个正则表达式,可以检索标签之间的所有内容(如果可能,还可以检索标签字段中的内容,如<img alt='Little house'>)。问题是我真的不知道如何编写这样的正则表达式。有什么想法吗?
【问题讨论】:
我建议使用HTML parser,而不是依赖正则表达式。使用正则表达式解析 HTML 通常是禁忌,并且几乎不可能在所有情况下都正确。这里有很多关于 SO 的问题都得出了相同的结论。
EDIT 看起来我们中的几个人有相同的想法......另外,here is a question 讨论了更多解析器。
【讨论】:
也许正则表达式不是这项工作的最佳选择(我会省去你强制性的长篇大论)。
我建议您查看一个 HTML 解析库来帮助您,例如 Html Agility Pack。
【讨论】:
正如人们所说,正则表达式不是最推荐的方式,但如果您决定使用正则表达式,这应该可以帮助您开始:
string pattern = @"(<(/?[^>]+)>)"
strippedString = Regex.Replace(str, pattern, string.Empty);
【讨论】:
不确定这是否有帮助,但我有能力将我网站上的文章翻译成读者喜欢的语言,我使用 Bing translation widget 完成了这项工作,所以我不做任何 html 解析,这一切都为我完成了。
【讨论】: