如何从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]));像这样试试