删除C中的HTML标记

删除C中的HTML标记,c,regex,html-parsing,C,Regex,Html Parsing,在我的程序中,我下载了一个带有wget的网页,我只想在上面提取一个文本字符串 如果从文件中清除html标记是正确的,那么我应该怎么做,因为网页上只有文本 我从未在C中使用过正则表达式,我不知道这是否是解决这个问题的正确方法。 你能给我建议其他的选择,或者图书馆,我可以使用吗? 或者如果我应该使用正则表达式,你能帮我在C中做这样的替换标记吗 sed -e 's/<[^>]\+>/ /g' file.html 谢谢只要你有XHTML,它就保证是有效的XML,因此你可以使用解析它。

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

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

我从未在C中使用过正则表达式,我不知道这是否是解决这个问题的正确方法。 你能给我建议其他的选择,或者图书馆,我可以使用吗? 或者如果我应该使用正则表达式,你能帮我在C中做这样的替换标记吗

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

谢谢

只要你有XHTML,它就保证是有效的XML,因此你可以使用解析它。

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

这表明你的sed脚本也不能工作

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

以上是有效的XML,更不用说快速和松散的HTML了,因为结束>在XML中是有效的,不可替换的。。。您只需转义即可

还有其他HTML解析库需要注意吗?我想把它们添加到@AndyLester,等等,等等…嘿,我忘了Libty了。我在它周围写了一个Perl包装器::-谢谢你的指点。基于这个问题,我提出了一个问题: