c++作业html语言的简单识别
比较简单的html语言识别 ,反正就暴力处理吧,进一步的话可以把标签都保存下来,判断匹配问题,题目没要求就没写
输入
<html>
i like the book <tag> this is a tree\n abs </tag>like father like son
</html>
输出:
i like the book this is a tree
abs like father like son
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
vector<string>ans;
string s,all;
vector<string>tag;
bool check(string ss)
{
if(ss.find("\n"))
{
return true;
}
else return false;
}
int main()
{
while(getline(cin,s))
{
all+=s;
}
//cout<<endl;
//cout<<all<<endl;
string k,t;
int flag=1;
for(int i=0;i<all.size();i++)
{
if(all[i]!='<'&&flag)
{
k+=all[i];
}
else if(all[i]=='<')
{
flag=0;
if(k.size())
{
ans.push_back(k);
}
}
else if(all[i]=='>')
{
flag=1;
tag.push_back(t);
t.clear();
k.clear();
}
else if(all[i]!='<'&&!flag)
{
if(all[i]!='/')
t+=all[i];
}
}
for(int i=0;i<ans.size();i++)
{
if(check(ans[i]))
{
for(int j=0;j<ans[i].size();j++)
{
if(ans[i][j]=='\\')
{
cout<<endl;
j++;
}
else cout<<ans[i][j];
}
}
else cout<<ans[i];
}
return 0;
}