Chinaunix首页 | 论坛 | 博客
  • 博客访问: 110106
  • 博文数量: 23
  • 博客积分: 1464
  • 博客等级: 上尉
  • 技术积分: 231
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-06 16:44
文章分类

全部博文(23)

文章存档

2014年(4)

2011年(3)

2009年(2)

2008年(14)

我的朋友

分类:

2008-12-25 14:09:14

    以此为例,其他标签自己修改即可
   

    TCHAR  szDest[256]={0};
    TCHAR chAttr='\"';
    LPTSTR szTag;
    LPCTSTR pCur;
    TCHAR chSpace[10]={0x20,0x0d,0x0a,0x3e,0x29};//0x20是空格 0x0d回车 0x0a换行 0x3e是> 0x29是)

    LPTSTR szFind[10]={L"src",L"=",L"\""};

    szTag=L"    pCur= strHtml;//HTML网页内容


    while(pCur=StrStrI(pCur,szTag))
    {
        BOOL bGet=false;
        pCur+=_tcslen(szTag);
        while(*pCur!='>')
        {
            //serach src and =
            if(::StrCmpNI(pCur,szFind[0],::_tcslen(szFind[0]))==0)
            {
                pCur+=_tcslen(szFind[0]);
                while(*pCur==chSpace[0]||*pCur==chSpace[1]||*pCur==chSpace[2])pCur++;
                
                if(::StrCmpNI(pCur,szFind[1],1)==0)
                    bGet=true;

                pCur++;
                break;

            }
            else
                pCur++;

        }

        if(!bGet)continue;
       
        while(*pCur==chSpace[0]||*pCur==chSpace[1]||*pCur==chSpace[2])
            pCur++;
       
        BOOL bAllow;
        if(*pCur==chAttr)
            bAllow=1;
        else
            bAllow=0;

           
        int nIndex=0;
        if(bAllow)pCur++;

        memset(szDest,0,sizeof(szDest));

        for(int i=0;i<=254;i++)
        {
            if(*pCur==chSpace[1]||*pCur==chSpace[2]);
            else
            {
                if(bAllow)
                {
                    if(*pCur==chAttr)
                        break;
                }
                else
                {
                    if(*pCur==chSpace[0]||*pCur==chSpace[3])
                        break;
                }
                szDest[nIndex++]=*pCur;
            }
            pCur++;
        }//szDest即是IMG图片的地址
阅读(1090) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~