.html文件转换成.txt

@ 思路

@-@ 简要

根据尖括号将文件分隔成字符串,建立一套判断字符串是否为标签的标准,若不为标签则为文本内容,存入结果文件中;

@-@ 详述

0. 建立两个哈希表:

哈希表1 unordered_set<string> - 存放“普通标签名字符串”:html, head, body, table, td, br等;

哈希表2 unordered_map<string, bool> - 存放“影响到文本读写的标签”:script, style等(<script></script>中的内容不读取);

1. 提取标签

读取文件流,从文件首部开始,若遇到“<”,就判断其后的内容是否为标签(因为“<”可能为小于号):提取“<”后的第一个字符串作为标签名,以空格符号或">"截止;

2. 判定标签

在哈希表1中查找提取到的标签,找到则判定为普通标签名,将指针移到">"之后;

对提取到的标签名,判断其是否在哈希表2中,若在则设置文本的可读状态(如<script>后的文本不读取,</script>后的文本开始读取);

若根据哈希表1判定不为普通标签,且在文本读取标志皆为true时,将不是标签的字符串都存入字符串缓冲区,写入文本文件;

@ code

Github