Streaming HTML parser -


BSD
跨平台
C/C++

软件简介

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);  
    }  
  }  
}

输入

$ url

输出

[[ tag=title ]] url