-5

在我的程序中,我下载了一个带有 wget 的网页,我想提取它,只有一个文本字符串。

我应该怎么做(如果它是正确的)从文件中清除 html 标签,因为只有网页上的文本?

我从来没有在 C 中使用过正则表达式,我不知道这是否是解决这个问题的正确方法。你能告诉我我可以使用的其他替代品或图书馆吗?或者如果我应该使用正则表达式,你能帮我在 C 中做一个这样的替换标签吗?

sed -e 's/<[^>]\+>/ /g' file.html

谢谢

4

2 回答 2

4

正则表达式不适合解析 HTML。只要您有 XHTML,就可以保证它是有效的 XML,因此您可以使用XML 解析器库来解析它。

于 2013-04-05T18:31:22.513 回答
0

另一个答案指向最相关的一点,即您无法使用正则表达式解析 HTML ...

这指出您的 sed 脚本也不起作用......

<a href="http://localhost/" title="Click &lt; link >">A link</a>

以上是有效的 XML,更不用说快速和松散的 HTML,因为关闭>在 XML 中是有效的未转义...您只需要转义&并且...这也是转义的<最佳实践>

于 2013-04-05T22:25:55.747 回答