ホームページ >バックエンド開発 >PHPの問題 >PHPで特定の行を削除する方法

PHPで特定の行を削除する方法

藏色散人
藏色散人オリジナル
2020-08-18 09:06:273710ブラウズ

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;
     }
を取得します。

以上がPHPで特定の行を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。