站长资讯网
最全最丰富的资讯网站

php如何删除某一行

php删除某一行的实现方法:首先创建一个PHP示例文件;然后定义一个delTargetLine方法;接着通过strpos函数查找目标字符串的坐标;最后删除内容所在的某一行即可。

php如何删除某一行

推荐:《PHP视频教程》

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

#在需要查找的内容后一行新起一行插入内容      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;      }

赞(0)
分享到: 更多 (0)

网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号