zoukankan      html  css  js  c++  java
  • php 拆分txt小说章节保存到数据库

    $xs_capter_list = [];
                $xs_content_list = [];
                set_time_limit(0);//0表示不限时
    
                $file = fopen('txt小说地址', "r");
                $i = 0;//行数
                $j = 1; //章节数
                $content = '';
                $chaptertitle ='';
                //输出文本中所有的行,直到文件结束为止。
                while(true) {
                    if(feof($file)){
                        //文章结尾
                        if($content!='' && $chaptertitle!=''){
                            $content = strtr($content,["
    " => '<br>']);
                            $content = mb_substr($content,49);//去掉前49个广告字符
                            $xs_content_list[] = $content;
                            //成功后
                            break;
                        }
                        break;
                    }else{
                        $now = fgets($file);
                        $now = mb_convert_encoding($now,'UTF-8','UTF-8,GBK,GB2312,BIG5');//使用该函数对结果进行转码
                        //var_dump($now);
                            if(strpos($now,'第')!==FALSE and strpos($now,'章')!==FALSE){
                                //判断上一层循环
                                if($content!='' && $chaptertitle!=''){
                                    //执行插入操作
                                    $content = strtr($content,["
    " => '<br>']);
                                    $content = mb_substr($content,49);//去掉前49个广告字符
                                    $xs_content_list[] = $content;
                                    //成功后
                                    $content = '';
                                    $chaptertitle = strtr($now,["
    " => '']);
                                    //var_dump($chaptertitle);
                                    $j++;
                                }else{
                                    $content .= $now;
                                    $chaptertitle = strtr($now,["
    " => '']);
                                }
    
                                $xs_capter_list[] = $chaptertitle;
                                //die();
    
    
                            }else{
                                $content .= $now;
                            }
    
                    }
    
                    $i++;
                }
    
                foreach($xs_capter_list as $key=>$v){
                    $chapter['content'] = $xs_content_list[$key];
                    $chapter['total'] = mb_strlen($xs_content_list[$key]);;
    
                    $chapter_id = $this->sql('xs.nh_chapter')->insertId($chapter);
    
                }

    临时写的代码,比较乱,还有待于优化。

    思路是一行一行的读取txt文本,利用小说 “第三章 桌下的手”  这种类似的关键字来分拆章节

    最后生成两个数组 

    $xs_capter_list和
    $xs_content_list 来分别保存标题和内容,然后写入数据库
  • 相关阅读:
    tomcat启动失败日志
    Windows环境卸载tomcat
    JAVA教程_Windows环境Java安装部署教程
    Tomcat和JDK版本的对应关系
    tomcat启动窗口乱码问题_解决办法
    Windows环境Tomcat安装及环境部署_官方教程
    perl + 匹配前导模式一次或者多次
    5.3.5 聚簇索引:
    freshStartTail 第一次启动时 抛弃旧的日志
    tomcat docBase 和 path
  • 原文地址:https://www.cnblogs.com/tingfengqieyu/p/8631257.html
Copyright © 2011-2022 走看看