如何从php文件中删除行以及随之产生的换行符?

如何从php文件中删除行以及随之产生的换行符?,php,file,newline,whitespace,trim,Php,File,Newline,Whitespace,Trim,我想从包含字符串$snum的文件中删除该行。我让它工作,但它留下了一条新的路线。我怎样才能摆脱它?我尝试了下面的修剪功能,但不起作用 <?php $snum=$_GET['snum']; $filePath = './SLBrecords.csv'; $fileArr = file( $filePath ); //$fileArr = file( $filePath, FILE_SKIP_EMPTY_LINES); foreach($fileArr as $k=>$line

我想从包含字符串
$snum
的文件中删除该行。我让它工作,但它留下了一条新的路线。我怎样才能摆脱它?我尝试了下面的修剪功能,但不起作用

<?php

$snum=$_GET['snum'];

$filePath = './SLBrecords.csv';

$fileArr = file( $filePath );

//$fileArr = file( $filePath, FILE_SKIP_EMPTY_LINES);

foreach($fileArr as $k=>$line) {
    if (strpos($line,$snum) !== false) {
        unset($fileArr[$k]);
        trim(preg_replace('/\s\s+/', ' ', $fileArr[$k]));
    }
}
$success = FALSE;
if ( file_put_contents( $filePath, implode( '', $fileArr ), LOCK_EX ) )
{
    $success = TRUE;
}

header("Location: sfadhome.php");

?>

修订版#5同时,我做了一个主要测试(使用各种字符串-还有“\n”和“\r\n”)-我想这就是您要找的字符串:

<?php

 $cont = file_get_contents($filePath);

 $quoted = preg_quote($snum);

 $replace = array(
   '/^[^\r\n]*'.$quoted.'[^\r\n]*($|\r?\n)/' => '',
   '/\r?\n[^\r\n]*'.$quoted.'[^\r\n]*($|\r?\n)/' => '$1'
 );

 $cont = trim(preg_replace(array_keys($replace), array_values($replace), $cont));

 file_put_contents($filePath, $cont);
trim(preg_replace(“~[\r\n]+~”,“$fileArr[$k]));像这样试试