Streaming HTML parser

BSD
C/C++
跨平台
2009-06-24
红薯

Streaming HTML parser 是一个 C 语言的 HTML 解析器。

示例代码

#include <stdio.h>
#include <streamhtmlparser/htmlparser.h>

int main(void) {
 
unsigned int getchar_ret;
  htmlparser_ctx
*parser = htmlparser_new();

 
while((getchar_ret = getchar()) != EOF) {
   
char c = (char)getchar_ret;

   
/* If we received a '$' character, we output the current tag and attribute
     * name to stdout. */

   
if (c == '$') {
      printf
("[[ ");
     
if (htmlparser_tag(parser))
        printf
("tag=%s ", htmlparser_tag(parser));
     
if (htmlparser_attr(parser))
        printf
("attr=%s ", htmlparser_attr(parser));
      printf
("]]");

   
/* If we read any other character, we pass it to the parser and echo it to
     * stdout. */

   
} else {
      htmlparser_parse_chr
(parser, c);
      putchar
(c);
   
}
 
}
}

输入

<html>   <body $>     <title> $ </title>     <a href="$" alt="$"> url </a>   </body> </html>

输出

<html>   <body [[ tag=body ]]>     <title> [[ tag=title ]] </title>     <a href="[[ tag=a attr=href ]]" alt="[[ tag=a attr=alt ]]"> url </a>   </body> </html>

 

加载中

评论(0)

暂无评论

暂无资讯

11
回答
如何用C解析一个网页获取相关信息.

我想用C/C++去解析一个网页,去获取相应的内容,比如文字/url/图片地址等 目前我使用的方案是用C访问一个php网页,php网页也是自己写的,用的ph...

2011/11/16 09:44
2
回答
Streaming HTML parser源码咋回事没有main函数啊

是不是不可以在windows上用,它没有main函数,没有工程啊

2011/05/25 21:15
3
回答
发现一个libstreamhtmlparser的问题

调用Streaming HTML parser解析js脚本时,发现一个问题,在解析单引号和双引号交替的语句时,状态只显示为双引号,例如: <script ...

2011/01/10 17:36

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无博客

返回顶部
顶部