当前访客身份:游客 [ 登录 | 加入 OSCHINA ]

代码分享

当前位置:
代码分享 » C/C++  » 常用工具方法
RyanLee

htmlcxx的简单用法

RyanLee 发布于 2010年11月03日 16时, 0评/2043阅
分享到: 
收藏 +0
1
<无详细内容>
标签: <无>

代码片段(1) [全屏查看所有代码]

1. [代码]cpp代码     跳至 [1] [全屏预览]

void HtmlParse(
													const string& html //包含html源码的字符串
													)
{
	string url = "", JStr = "";
	size_t offset = 0, length = 0;
	HTML::ParserDom parser;
	tree<HTML::Node> dom = parser.parseTree(html);
	tree<HTML::Node>::iterator it = dom.begin();
	for (; it != dom.end(); ++it)
	{
		if(!it->isTag())
			continue ;

		if (_strcmpi(it->tagName().c_str() ,"iframe")== 0) //iframe 链接
		{
			it->parseAttributes();
			if (it->attribute("src").first)
			{
				url = it->attribute("src").second;	
			}
		}
		if (_strcmpi(it->tagName().c_str(), "script")==0) //script 链接
		{
			it->parseAttributes();
			if (it->attribute("src").first)
			{
				url = it->attribute("src").second;	
			}
			//JavaScript代码段
			offset = it->offset() +  it->text().length();
			length = it->length() - it->text().length() - it->closingText().length();
			JStr = html.substr(offset, length);
		}
	}
}


开源中国-程序员在线工具:Git代码托管 API文档大全(120+) JS在线编辑演示 二维码 更多»

开源从代码分享开始 分享代码
RyanLee的其它代码 全部(9)...