php如何删除某一行

藏色散人
发布: 2020-08-18 09:06:27
原创
3835人浏览过
php删除某一行的实现方法:首先创建一个PHP示例文件;然后定义一个delTargetLine方法;接着通过strpos函数查找目标字符串的坐标;最后删除内容所在的某一行即可。

php如何删除某一行

推荐:《PHP视频教程》 

PHP文件操作之,插入某行,删除某行,获取行号

行者AI
行者AI

行者AI绘图创作,唤醒新的灵感,创造更多可能

行者AI 100
查看详情 行者AI
#在需要查找的内容后一行新起一行插入内容
     function insertAfterTarget($filePath, $insertCont, $target)
     {
         $result = null;
         $fileCont = file_get_contents($filePath);
          $targetIndex = strpos($fileCont, $target); #查找目标字符串的坐标
  
          if ($targetIndex !== false) {
              #找到target的后一个换行符
             $chLineIndex = strpos(substr($fileCont, $targetIndex), "\n") + $targetIndex;
             if ($chLineIndex !== false) {
                 #插入需要插入的内容
                 $result = substr($fileCont, 0, $chLineIndex + 1) . $insertCont . "\n" . substr($fileCont, $chLineIndex + 1);
                 $fp = fopen($filePath, "w+");
                 fwrite($fp, $result);
                 fclose($fp);
             }
         }
19     }
 
     #删除内容所在的某一行
     function delTargetLine($filePath, $target)
     {
         $result = null;
25         $fileCont = file_get_contents($filePath);
         $targetIndex = strpos($fileCont, $target); #查找目标字符串的坐标
 
         if ($targetIndex !== false) {
             #找到target的前一个换行符
             $preChLineIndex = strrpos(substr($fileCont, 0, $targetIndex + 1), "\n");
             #找到target的后一个换行符
             $AfterChLineIndex = strpos(substr($fileCont, $targetIndex), "\n") + $targetIndex;
             if ($preChLineIndex !== false && $AfterChLineIndex !== false) {
                 #重新写入删掉指定行后的内容
                 $result = substr($fileCont, 0, $preChLineIndex + 1) . substr($fileCont, $AfterChLineIndex + 1);
                 $fp = fopen($filePath, "w+");
                 fwrite($fp, $result);
                 fclose($fp);
             }
         }
     }
 
     #获取某段内容的行号
     /**
      * @param $filePath
      * @param $target   待查找字段
      * @param bool $first   是否再匹配到第一个字段后退出
      * @return array
      */
     function getLineNum($filePath, $target, $first = false)
     {
         $fp = fopen($filePath, "r");
         $lineNumArr = array();
         $lineNum = 0;
         while (!feof($fp)) {
             $lineNum++;
             $lineCont = fgets($fp);
             if (strstr($lineCont, $target)) {
                if($first) {
                     return $lineNum;
                 } else {
                     $lineNumArr[] = $lineNum;
                }
             }
         }
         return $lineNumArr;
     }
登录后复制

以上就是php如何删除某一行的详细内容,更多请关注php中文网其它相关文章!

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号