parse.h

来自「elinks下lynx是最重要的二个文本浏览器, 在linux下非常实用, el」· C头文件 代码 · 共 73 行

H
73
字号
#ifndef EL__DOCUMENT_HTML_PARSER_PARSE_H#define EL__DOCUMENT_HTML_PARSER_PARSE_Hstruct html_context;struct document_options;struct part;struct string;/* Flags for get_attr_value(). */enum html_attr_flags {	HTML_ATTR_NONE = 0,	/* If HTML_ATTR_TEST is set then we only test for existence of	 * an attribute of that @name. In that mode it returns NULL if	 * attribute was not found, and a pointer to start of the attribute	 * if it was found. */	HTML_ATTR_TEST = 1,	/* If HTML_ATTR_EAT_NL is not set, newline and tabs chars are	 * replaced by spaces in returned value, else these chars are	 * skipped. */	HTML_ATTR_EAT_NL = 2,	/* If HTML_ATTR_NO_CONV is set, then convert_string() is not called	 * on value. Unused for now. */	/* HTML_ATTR_NO_CONV = 4, */};/* Parses html element attributes. * - e is attr pointer previously get from parse_element, * DON'T PASS HERE ANY OTHER VALUE!!! * - name is searched attribute * * Returns allocated string containing the attribute, or NULL on unsuccess. */unsigned char *get_attr_value(register unsigned char *e, unsigned char *name, struct document_options *options, enum html_attr_flags flags);/* Wrappers for get_attr_value(). */#define get_attr_val(e, name, options) get_attr_value(e, name, options, HTML_ATTR_NONE)#define get_url_val(e, name, options) get_attr_value(e, name, options, HTML_ATTR_EAT_NL)#define has_attr(e, name, options) (!!get_attr_value(e, name, options, HTML_ATTR_TEST))/* Interface for both the renderer and the table handling */void parse_html(unsigned char *html, unsigned char *eof, struct part *part, unsigned char *head, struct html_context *html_context);/* Interface for element handlers */typedef void (element_handler_T)(struct html_context *, unsigned char *attr,                                 unsigned char *html, unsigned char *eof,                                 unsigned char **end);/* Interface for the table handling */int parse_element(unsigned char *, unsigned char *, unsigned char **, int *, unsigned char **, unsigned char **);int get_num(unsigned char *, unsigned char *, struct document_options *);int get_width(unsigned char *, unsigned char *, int, struct html_context *);unsigned char *skip_comment(unsigned char *, unsigned char *);void scan_http_equiv(unsigned char *s, unsigned char *eof, struct string *head, struct string *title, struct document_options *options);/* Lifecycle functions for the tags fastfind cache, if being in use. */void free_tags_lookup(void);void init_tags_lookup(void);#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?