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

📄 parser.h

📁 下载整个站点,将某一站点的资源全部下载,只要输入正确合法的站址!
💻 H
字号:

/*

	<tag[blank+]|

		Repeating groups of:

		[blank*]opt[blank*]=|
							 [blank*]["]value["][blank*]|

	>

*/

#if !defined(__Parser_h__)
#define __Parser_h__

class COptions
{
private:
	CString m_strParm;
	CString m_strValue;
	int m_nIndex;

public:
	void SetParm(LPCTSTR lpszTag) { m_strParm = lpszTag; }
	void SetValue(LPCTSTR lpszValue) { m_strValue = lpszValue; }
	void SetIndex(int nIndex) { m_nIndex = nIndex; }
	LPCTSTR GetParm() { return m_strParm; }
	LPCTSTR GetValue() { return m_strValue; }
	int GetIndex() { return m_nIndex; }
};

typedef CArray<COptions,COptions&> HTML_ARGS;

class CHtmlParser 
{
protected:
	CString m_strTag;
	HTML_ARGS m_arrOptions;
	char *m_pRawBuffer;

protected:
	BOOL FindToken(const char *pTokens, const char *pBuffer, int& nIndex, 
                                    int nMaxLen);
	CString GetString(const char *pTerminals, const char *pBuffer, int &nIndex, 
                                    int nMaxLen);
	CString SaveParm(const CString& strParm, BOOL bLowercase);
	void GetOptions(const char *pBuffer, int &nIndex, int nMaxLen);
	BOOL GetTag(const char *pBuffer, int& nIndex, int nMaxLen);

public:
	CHtmlParser();
	virtual ~CHtmlParser();

public:
	void ParseText(char *pBuffer, int nMaxLen);
	virtual BOOL ProcessTag(const CString& strTag, int nIndex, const HTML_ARGS& arrOptions);
	virtual BOOL WantTag(const CString& strTag);
};

#endif

⌨️ 快捷键说明

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