ÍêÉÆ×Ô¼ºµÄhtml parse
˵À´²ÑÀ¢£¬ÎÒ·¢ÏÖ×Ô¼ºÐ´µÄÄǸöhtml parse¹ýÓÚÀíÏ뻯£¬½âÎöxml»¹²î²»¶à£¬Ïë½âÎöÏÖ½ñµÄhtml£¬¹À¼ÆÊDz»´ó¿ÉÄܵģ¬ËùÒÔÎÒ°Ñ´úÂëÖØдÁËÒ»±é£¬Êý¾Ý½á¹¹¸Ä³ÉË«ÏòÁ´±í£¬ÕâÑù½âÎöËٶȸü¿ì£¬×î´ó³Ì¶ÈµØ¶Ôhtml½øÐÐÈÝ´í´¦Àí£¬ÊÔÑéʱ·¢ÏÖµÄÈ·¿ÉÒÔ½âÎöÆÕͨhtml×Ö·û´®£¬²»ÐèÒªÔÙÑϸñ·ûºÏÄǸöxhtml±ê×¼ÁË¡£¶øÇÒÔÚÁ´Ê½µ÷ÓõĴ«µÝ²ÎÊýÉϲ»ÐèÒªÔÙ´«ÈëdomÀàÐ͵IJÎÊý£¬ÕâÑùдÆðÀ´¾Í¸ü¼Ó¼ò±ãÁË¡£
ºÃÁË£¬·Ï»°²»¶à˵£¬¿´´úÂ룺
#include<iostream>
using namespace std;
class node;
class dom;
class nodecollect{
private:
node *n;
int length;
public:
nodecollect();
~nodecollect();
int getlength();
void add(node *nn);
node* item(int i);
};
class node{
private:
int start;
int len;
char name[20];
public:
char* nodehtml();
char* innerhtml();
char* outerhtml();
char* innertext();
char* getattr(char* str);
char* tagname();
void setname(char *str);
node* getparent();
nodecollect* getchild();
node* getnext();
node* getprevious();
node *next;
node *previous;
void setstart(int i);
void setlen(int i);
int getstart();
int getlen();
dom *d;
};
class dom{
private:
char *text;
node *start;
node *end;
int count;
int parse(char *s);
public:
~dom();
char *gettext();
void load(char *str);
node* getitem(int i);
int getcount();
node *getbyid(char* id);
nodecollect* getbytagname(char *tagname);
};
void dom::load(char* str){
start=0;
end=0;
count=0;
int l=strlen(str);
text=new char[l+1];
strcpy(text,str);
char *t=text;
parse(t);
}
int dom::getcount(){
return count;
}
char *dom::gettext(){
return text;
}
node* dom::getitem(int i){
node* n1=start;
while(i--){
&
Ïà¹ØÎĵµ£º
×î½üÑо¿PHPµÄһЩ¿ª·¢¼¼Êõ£¬·¢ÏÖPHPÓкܶàASPËùûÓеÄÓÅÐ㹦ÄÜ£¬¿ÉÒÔÍê³ÉһЩÒÔÇ°ÎÞ·¨Íê³ÉµÄ¹¦ÄÜ£¬ÀýÈ綯̬Éú³ÉHTML¾²Ì¬Ò³Ã棬ÒÔ¼õÉÙ·þÎñÆ÷CPUµÄ¸ºÔØ£¬Ìá¸ßÓû§·ÃÎʵÄËٶȡ£
¡¡¡¡ÎÒÃÇÖªµÀ£¬PHP¶ÁÈ¡MYSQL¶¯Ì¬ÏÔʾ£¬ÔÚ·ÃÎÊÁ¿´óµÄÇé¿öÏ£¬»áÓкܶàÐÔÄÜÎÊÌ⣬Èç¹û×âÓñðÈ˵ÄÐéÄâÖ÷»ú£¬Ôò»áÒòΪCPUÏûºÄ¹ý¶à¶ø±»ÏÞÖÆCPU£¬µ¼ÖÂÍø ......
ÎļþÀàÐÍ <HTML></HTML> £¨·ÅÔÚµµ°¸µÄ¿ªÍ·Óë½á⣩
ÎļþÖ÷Ìâ <TITLE></TITLE> £¨±ØÐë·ÅÔÚ¡¸ÎÄÍ·¡¹Çø¿éÄÚ£©
ÎÄÍ· <HEAD></HEAD> £¨ÃèÊöÐÔ×ÊÁÏ£¬ÏñÊÇ¡¸Ö÷Ì⡹£©
ÎÄÌå <BODY></BODY> £¨Îļþ±¾Ì壩
½á¹¹ÐÔ¶¨Ò壨ÓÉä¯ÀÀÆ÷¿ØÖƵÄÏÔʾ·ç¸ñ£©
±êÌâ <H?></H?> ......
»¥¶¯ÐÔÒ»Ö±ÊÇ»¥ÁªÍøµÄÖصã,ÈÃʹÓÃÕßÓëÍøÕ¾Äܹ»½»»»ÐÅÏ¢,±Ë´Ë¹µÍ¨.±íµ¥Ê¹ÎÒÃÇÄܹ»ÓÐ×éÖ¯µÄ,ʹÓÃͬһ·½Ê½µÄ´ÓʹÓÃÕßÄÇÀïÊÕ¼¯×ÊÁÏ,Òò´ËÔÚÉè¼ÆÍøվʱ×ÜÊÇÊôÓÚ"ÈκÎ×´¿ö¶¼ÄÜÄÃÀ´ÓÃ"µÄÄÇÒ»Àà,¾ÙÀýÀ´Ëµ,ÎÒÃÇ·¢ÏÖ´ó¸ÅÓÐ10000ÖÖ±ê¼Ç±íµ¥µÄ²»Í¬·½Ê½.ºÃ°É,»òÐíûÓÐÄÇô¶à,µ«ÊÇÎÒÃÇÈÔÄÜ˼¿¼¼¸ÖÖ×´¿ö,ÈÃʹÓÃÕßÒ×ÓÚʹÓÃ±íµ¥½á¹¹,ͬʱҲ±ãÓ ......
Example:
1.<!--[if !IE]><!--> ³ýIEÍⶼ¿Éʶ±ð <!--<![endif]-->
2.<!--[if IE]> ËùÓеÄIE¿Éʶ±ð <![endif]-->
3.<!--[if IE 5.0]> Ö»ÓÐIE5.0¿ÉÒÔʶ±ð <![endif]-->
4.<!--[if IE 5]> ½öIE5.0ÓëIE5.5¿ÉÒÔʶ±ð <![endif]-->
5.<!--[if gt IE 5.0]> IE ......
<label> ±êǩΪ input ÔªËض¨Òå±ê×¢£¨±ê¼Ç£©¡£
label ÔªËز»»áÏòÓû§³ÊÏÖÈκÎÌØÊâЧ¹û¡£²»¹ý£¬ËüΪÊó±êÓû§¸Ä½øÁË¿ÉÓÃÐÔ¡£Èç¹ûÄúÔÚ label ÔªËØÄÚµã»÷Îı¾£¬¾Í»á´¥·¢´Ë¿Ø¼þ¡£¾ÍÊÇ˵£¬µ±Óû§Ñ¡Ôñ¸Ã±êǩʱ£¬ä¯ÀÀÆ÷¾Í»á×Ô¶¯½«½¹µãתµ½ºÍ±êÇ©Ïà¹ØµÄ±íµ¥¿Ø¼þÉÏ¡£
<label> ±êÇ©µÄ for ÊôÐÔÓ¦µ±ÓëÏà¹ØÔªËØµÄ id ÊôÐÔÏ ......