文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>简单HTML到文本的转换代码

简单HTML到文本的转换代码

时间:2008-11-24  来源:ring8595

   最近在看关于搜索引擎方面的书籍。不可避免要处理HTMLtoTXT,从《搜索引擎技术》一书中看到了写关于HTML到文本的转换算法。 于是自己写了一个测试程序。效果感觉不错,总体而言是利用字符串查找实现的。即找到一个"<"立马找下一个">"然后去掉中间内容。 程序还是有很多的问题。首先是 "<"的层数问题,如果遇到多层的不规格的html代码 解析 就乱套了。 以后得多改进~ 可以使用栈来实现<<的嵌套提取.什么?如果有不成对的< > 咋办? 只能说错误了~  

#include "stdafx.h"
#include "stdlib.h"
#include <iostream>
#include <fstream>
using namespace std;

int main(int argc, char* argv[])
{
        ifstream file;
        file.open("d:\\1.txt",ios::in);//默认HTML文件位置
        file.seekg(0,ios::beg);
        int begin = file.tellg();
        file.seekg(0, ios::end );
        int theend = file.tellg();
        int length = theend - begin;//得到文件长度
        file.seekg(0,ios::beg);
        char* temp = new char[length];
        file.read(temp,length);
        file.close();
        string str(temp);
        int i = 0;
        int first;
        string ttt="";
        while (i < str.length())
        {
             if(str[i] == '>')// '>' 和'<' 之间的是有用文本
             {
                first = i;
                while (str[i] != '<'&& i < str.length())
                {
                    i++;
                }
                if(i == str.length())
                {
                    delete temp;
                    return 0;
                }
                else
                {
                    if(first != i)
                    {
                        string tt = str.substr(first+1,i-first-1);
                        cout<<tt.c_str();
                    }    
                }

             }
             else
             {
                 i++;
             }    
        }

}
可以利用stach实现提取 link 等等~~

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载