删除C中的HTML标记

时间:2013-04-05 18:28:22

标签: c regex html-parsing

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

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

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

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

由于

2 个答案:

答案 0 :(得分:4)

Regular expressions aren't suited for parsing HTML.只要您拥有XHTML,就可以保证它是有效的XML,因此您可以使用XML parser library进行解析。

答案 1 :(得分:0)

另一个答案指向最相关的一点,即你不能用正则表达式解析HTML ...

这表明你的sed脚本也不起作用......

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

以上是有效的XML,更不用说快速而宽松的HTML,因为结束>在XML中无效... ...您只需要转义&< ...它也是逃避>的最佳做法