⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bithtmldtd.c

📁 一个很好的html网页分析工具
💻 C
字号:
#include "BitHtml.h"#define HTML_ENTITY(_name, _value) {#_name,_value},BitEntity gHTMLEntity[101]={HTML_ENTITY(quot	, 34)HTML_ENTITY(amp	, 38)HTML_ENTITY(lt	, 60)HTML_ENTITY(gt	, 62)HTML_ENTITY(nbsp	, 160)HTML_ENTITY(iexcl, 161)HTML_ENTITY(cent	, 162)HTML_ENTITY(pound, 163)HTML_ENTITY(curren, 164)HTML_ENTITY(yen	, 165)HTML_ENTITY(brvbar, 166)HTML_ENTITY(sect	, 167)HTML_ENTITY(uml	, 168)HTML_ENTITY(copy	, 169)HTML_ENTITY(ordf	, 170)HTML_ENTITY(laquo, 171)HTML_ENTITY(not	, 172)HTML_ENTITY(shy	, 173)HTML_ENTITY(reg	, 174)HTML_ENTITY(macr	, 175)HTML_ENTITY(deg	, 176)HTML_ENTITY(plusmn, 177)HTML_ENTITY(sup2	, 178)HTML_ENTITY(sup3	, 179)HTML_ENTITY(acute, 180)HTML_ENTITY(micro, 181)HTML_ENTITY(para	, 182)HTML_ENTITY(middot, 183)HTML_ENTITY(cedil, 184)HTML_ENTITY(sup1	, 185)HTML_ENTITY(ordm, 186)HTML_ENTITY(raquo, 187)HTML_ENTITY(frac14, 188)HTML_ENTITY(frac12, 189)HTML_ENTITY(frac34, 190)HTML_ENTITY(iquest, 191)HTML_ENTITY(Agrave, 192)HTML_ENTITY(Aacute, 193)HTML_ENTITY(Acirc, 194)HTML_ENTITY(Atilde, 195)HTML_ENTITY(Auml, 196)HTML_ENTITY(Aring, 197)HTML_ENTITY(AElig, 198)HTML_ENTITY(Ccedil, 199)HTML_ENTITY(Egrave, 200)HTML_ENTITY(Eacute, 201)HTML_ENTITY(Ecirc, 202)HTML_ENTITY(Euml, 203)HTML_ENTITY(Igrave, 204)HTML_ENTITY(Iacute, 205)HTML_ENTITY(Icirc, 206)HTML_ENTITY(Iuml, 207)HTML_ENTITY(ETH, 208)HTML_ENTITY(Ntilde, 209)HTML_ENTITY(Ograve, 210)HTML_ENTITY(Oacute, 211)HTML_ENTITY(Ocirc, 212)HTML_ENTITY(Otilde, 213)HTML_ENTITY(Ouml, 214)HTML_ENTITY(times, 215)HTML_ENTITY(Oslash, 216)HTML_ENTITY(Ugrave, 217)HTML_ENTITY(Uacute, 218)HTML_ENTITY(Ucirc, 219)HTML_ENTITY(Uuml, 220)HTML_ENTITY(Yacute, 221)HTML_ENTITY(THORN, 222)HTML_ENTITY(szlig, 223)HTML_ENTITY(agrave, 224)HTML_ENTITY(aacute, 225)HTML_ENTITY(acirc, 226)HTML_ENTITY(atilde, 227)HTML_ENTITY(auml, 228)HTML_ENTITY(aring, 229)HTML_ENTITY(aelig, 230)HTML_ENTITY(ccedil, 231)HTML_ENTITY(egrave, 232)HTML_ENTITY(eacute, 233)HTML_ENTITY(ecirc, 234)HTML_ENTITY(euml, 235)HTML_ENTITY(igrave, 236)HTML_ENTITY(iacute, 237)HTML_ENTITY(icirc, 238)HTML_ENTITY(iuml, 239)HTML_ENTITY(eth, 240)HTML_ENTITY(ntilde, 241)HTML_ENTITY(ograve, 242)HTML_ENTITY(oacute, 243)HTML_ENTITY(ocirc, 244)HTML_ENTITY(otilde, 245)HTML_ENTITY(ouml, 246)HTML_ENTITY(divide, 247)HTML_ENTITY(oslash, 248)HTML_ENTITY(ugrave, 249)HTML_ENTITY(uacute, 250)HTML_ENTITY(ucirc, 251)HTML_ENTITY(uuml, 252)HTML_ENTITY(yacute, 253)HTML_ENTITY(thorn, 254)HTML_ENTITY(yuml, 255){0}};#undef HTML_ENTITY/***	ELEMENTS**	Must match definitions in HTMLPDBit.html!**	Must be in alphabetical order.**Name	ID	*/#define	HTML_TAG(t)		{ #t,HTML_##t }BitTag gHTMLTags[HTML_ELEMENTS+1] = {	HTML_TAG(A),	HTML_TAG(ABBREV),	HTML_TAG(ACRONYM),	HTML_TAG(ADDRESS),	HTML_TAG(APPLET),	HTML_TAG(AREA),	HTML_TAG(AU),	HTML_TAG(AUTHOR),	HTML_TAG(B),	HTML_TAG(BANNER),	HTML_TAG(BASE),	HTML_TAG(BASEFONT),	HTML_TAG(BDO),	HTML_TAG(BGSOUND),	HTML_TAG(BIG),	HTML_TAG(BLINK),	HTML_TAG(BLOCKQUOTE),	HTML_TAG(BODY),	HTML_TAG(BODYTEXT),	HTML_TAG(BQ),	HTML_TAG(BR),	HTML_TAG(BUTTON),	HTML_TAG(CAPTION),	HTML_TAG(CENTER),	HTML_TAG(CITE),	HTML_TAG(CODE),	HTML_TAG(COL),	HTML_TAG(COLGROUP),	HTML_TAG(COMMENT),	HTML_TAG(CREDIT),	HTML_TAG(DD),	HTML_TAG(DEL),	HTML_TAG(DFN),	HTML_TAG(DIR),	HTML_TAG(DIV),	HTML_TAG(DL),	HTML_TAG(DLC),	HTML_TAG(DT),	HTML_TAG(EM),	HTML_TAG(EMBED),	HTML_TAG(FIELDSET),	HTML_TAG(FIG),	HTML_TAG(FN),	HTML_TAG(FONT),	HTML_TAG(FORM),	HTML_TAG(FRAME),	HTML_TAG(FRAMESET),	HTML_TAG(H1),	HTML_TAG(H2),	HTML_TAG(H3),	HTML_TAG(H4),	HTML_TAG(H5),	HTML_TAG(H6),	HTML_TAG(HEAD),	HTML_TAG(HR),	HTML_TAG(HTML),	HTML_TAG(HY),	HTML_TAG(I),	HTML_TAG(IFRAME),	HTML_TAG(IMG),	HTML_TAG(INPUT),	HTML_TAG(INS),	HTML_TAG(ISINDEX),	HTML_TAG(KBD),	HTML_TAG(KEYGEN),	HTML_TAG(LABEL),	HTML_TAG(LEGEND),	HTML_TAG(LH),	HTML_TAG(LI),	HTML_TAG(LINK),	HTML_TAG(LISTING),	HTML_TAG(MAP),	HTML_TAG(MARQUEE),	HTML_TAG(MATH),	HTML_TAG(MENU),	HTML_TAG(META),	HTML_TAG(NEXTID),	HTML_TAG(NOFRAMES),	HTML_TAG(NOTE),	HTML_TAG(OBJECT),	HTML_TAG(OL),	HTML_TAG(OPTION),	HTML_TAG(OVERLAY),	HTML_TAG(P),	HTML_TAG(PARAM),	HTML_TAG(PLAINTEXT),	HTML_TAG(PRE),	HTML_TAG(Q),	HTML_TAG(S),	HTML_TAG(SAMP),	HTML_TAG(SCRIPT),	HTML_TAG(SELECT),	HTML_TAG(SHY),	HTML_TAG(SMALL),	HTML_TAG(SPAN),	HTML_TAG(SPOT),	HTML_TAG(STRIKE),	HTML_TAG(STRONG),	HTML_TAG(STYLE),	HTML_TAG(SUB),	HTML_TAG(SUP),	HTML_TAG(TAB),	HTML_TAG(TABLE),	HTML_TAG(TBODY),	HTML_TAG(TD),	HTML_TAG(TEXTAREA),	HTML_TAG(TEXTFLOW),	HTML_TAG(TFOOT),	HTML_TAG(TH),	HTML_TAG(THEAD),	HTML_TAG(TITLE),	HTML_TAG(TR),	HTML_TAG(TT),	HTML_TAG(U),	HTML_TAG(UL),	HTML_TAG(VAR),	HTML_TAG(WBR),	HTML_TAG(XMP),	//additional tag	HTML_TAG(TEXT),  /* old TDXML    HTML_TAG(A)  ,    HTML_TAG(AREA)	,    HTML_TAG(B)		,    HTML_TAG(BODY)	,    HTML_TAG(BR)	,    HTML_TAG(BUTTON)	,    HTML_TAG(COMMENT),    HTML_TAG(FONT),    HTML_TAG(GROUP)	,    HTML_TAG(HEAD)	,    HTML_TAG(I),    HTML_TAG(IFRAME),    HTML_TAG(IMG),    HTML_TAG(INPUT),    HTML_TAG(LABEL),    HTML_TAG(MAP),    HTML_TAG(META),    HTML_TAG(P)	,    HTML_TAG(SCRIPT),    HTML_TAG(SCROLL),    HTML_TAG(STRIKE),    HTML_TAG(SUB),    HTML_TAG(SUP),    HTML_TAG(TEXT),    HTML_TAG(TEXTAREA),    HTML_TAG(TITLE),    HTML_TAG(U)	,    HTML_TAG(VAR),    //HTML_TAG(VIDEO),	//below add by me	HTML_TAG(TABLE),	HTML_TAG(TR),	HTML_TAG(TD),	HTML_TAG(TH),	HTML_TAG(TBODY),	*/	//{ #t,HTML_##t }	{ "HTML", HTML_HTML},};#ifdef HTML_ATTR#undef HTML_ATTR#endif#define	HTML_ATTR(a)		{ #a,HTML_ATTR_##a } BitTag gHTMLAttr[HTML_ATTR_ATTRIBUTES] = {	HTML_ATTR(ACCESSKEY),	HTML_ATTR(ALIGN),	HTML_ATTR(ALPHA),	HTML_ATTR(ALT),	HTML_ATTR(BKCOLOR),	HTML_ATTR(BKSOUND),	HTML_ATTR(BORDER),	HTML_ATTR(CHARSET) ,	HTML_ATTR(CLASS),	HTML_ATTR(COLOR),	HTML_ATTR(COLORKEY),	HTML_ATTR(COLS),	HTML_ATTR(COORDS),	HTML_ATTR(DEFER),	HTML_ATTR(DISABLED),	HTML_ATTR(END),	HTML_ATTR(EXTER),	HTML_ATTR(HREF),	HTML_ATTR(HREFLANG),	HTML_ATTR(HTTP_EQUIV),    /* { "HTTP-EQUIV" ) */	HTML_ATTR(ID),	HTML_ATTR(ISMAP),	HTML_ATTR(LANG),	HTML_ATTR(MARGINHEIGHT),	HTML_ATTR(MARGINWIDTH),	HTML_ATTR(NAME),	HTML_ATTR(NOHREF),	HTML_ATTR(NORESIZE),	HTML_ATTR(ONBLUR),	HTML_ATTR(ONDBCLICK),	HTML_ATTR(ONFOCUS),	HTML_ATTR(ONMOUSEDOWN),	HTML_ATTR(ONMOUSEMOVE),	HTML_ATTR(ONMOUSEOVER),	HTML_ATTR(ONMOUSEOUT),	HTML_ATTR(ONMOUSEUP),	HTML_ATTR(ONKEYDOWN),	HTML_ATTR(ONKEYUP),	HTML_ATTR(PROFILE),	HTML_ATTR(READONLY),	HTML_ATTR(ROWS),	HTML_ATTR(SCHEME),	HTML_ATTR(SHAPE),	HTML_ATTR(SCROLLING),	HTML_ATTR(SIZE),	HTML_ATTR(SRC),	HTML_ATTR(SRCDOWN),	HTML_ATTR(SRCOVER),	HTML_ATTR(START),	HTML_ATTR(STYLE),	HTML_ATTR(TARGET),	HTML_ATTR(TITLE),	HTML_ATTR(TYPE),	HTML_ATTR(USRMAP),	HTML_ATTR(VALUE),	HTML_ATTR(VERSION),	HTML_ATTR(ZORDER),	// below add by me	HTML_ATTR(ACTION),	HTML_ATTR(BACKGROUND),	HTML_ATTR(BGCOLOR),	HTML_ATTR(CELLPADDING),	HTML_ATTR(CELLSPACING),	HTML_ATTR(HEIGHT),	HTML_ATTR(LINK),	HTML_ATTR(TOPMARGIN),	HTML_ATTR(VALIGN),	HTML_ATTR(VLINK),	HTML_ATTR(WIDTH),};/*JSHashTable* gHTMLTagHashTable=NULL,*gHTMLAttrHashTable=NULL;int BitHTML_InitHashTable(){	int i;	gHTMLTagHashTable=JS_NewHashTable(HTML_ELEMENTS,NULL,NULL,NULL,NULL,NULL);	gHTMLAttrHashTable=JS_NewHashTable(HTML_ELEMENTS,NULL,NULL,NULL,NULL,NULL);	if(!gHTMLTagHashTable || !gHTMLAttrHashTable)		return BitFALSE;	for(i=0;i<HTML_ELEMENTS;i++)	{		JS_HashTableAdd(gHTMLTagHashTable,gHTMLTags[i].name,(void*)gHTMLTags[i].id);	}	for(i=0;i<HTML_ATTR_ATTRIBUTES;i++)	{		JS_HashTableAdd(gHTMLAttrHashTable,gHTMLAttr[i].name,(void*)gHTMLAttr[i].id);	}	return BitTRUE;}*/int BitHTML_GetTagID(char *pName){	int i;	BitTag *ct;	if(!pName)		return 0;	for (i = 0; i<HTML_ELEMENTS; i++) 	{			ct =&gHTMLTags[i];			if(stricmp(pName,ct->name)==0)				return i;	}	return -1;}int BitHTML_GetAtrID(char *pName){	int i;	BitTag *ct;	if(!pName)		return 0;	for (i = 0; i<HTML_ATTR_ATTRIBUTES; i++) 	{			ct =&gHTMLAttr[i];			if(stricmp(pName,ct->name)==0)				return i;	}	return -1;}char *BitHTML_GetTagName(int  id){	if(id>=0 && id< HTML_ELEMENTS)		return gHTMLTags[id].name;	return NULL;}char * BitHTML_GetAtrName(int id){	if(id>=0 && id< HTML_ATTR_ATTRIBUTES)		return gHTMLAttr[id].name;	return NULL;}/*typedef struct BitTagList {  BitHTML_GET_ID		fGetTagID;  BitHTML_GET_NAME	fGetTagName;  BitHTML_GET_ID		fGetAtrID;  BitHTML_GET_NAME	fGetAtrName;  int			mEntityCount;  BitPEntity		pEntity;  int			nComment;  char*		pCommentEnd;  int			nPlainText;}BitTagList,*BitPTagList;*/BitTagList gHTMLTagList={BitHTML_GetTagID,BitHTML_GetTagName,						BitHTML_GetAtrID,BitHTML_GetAtrName,						100,gHTMLEntity,						HTML_COMMENT,"-->",HTML_TEXT};BitPTagList	Bit_GetHTMLTagList(){	return &gHTMLTagList;}

⌨️ 快捷键说明

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