好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php如何删除某一行

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

推荐:《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如何删除某一行的详细内容...

  阅读:48次