java 正则 连续换行_正则匹配两个换行 - 18y的个人空间 - OSCHINA - 中文开源技术交流社区...

本文介绍了如何使用PHP函数读取目录下所有.php文件,并通过正则表达式替换多余的换行,确保文件内容一致性。函数`readDirs`递归遍历目录,`removeBr2`负责处理文件内容,通过`preg_replace`实现单个换行替换。
摘要由CSDN通过智能技术生成

使用 FTP 上传文件到服务器之后,每个文件内容都多了一个换行,此程序将多个换行替换成一个换行 使用前先测试。

header("Content-type: text/html; charset=utf-8");

/**

* 读取目录下的文件

* @author Xm

* @anotherdate 2018-04-18T10:26:54+0800

* @param string $base 扫描目录

* @param string $ext 扫描文件后缀名

* @return [type]

*/

function readDirs($base,$ext="*")

{

if(is_dir($base))

{

$basedir = empty($base) ? '.' : $base;

$source = opendir($basedir);

while($file_name = readdir($source))

{

if($file_name == "." || $file_name == "..") continue;

$file_path = $basedir."/".$file_name;

if(is_dir($file_path))

{

echo "读取目录".$file_path."
";

readDirs($file_path,$ext);

}else{

$file_ext = pathinfo($file_name, PATHINFO_EXTENSION);

if($ext != "*" && $file_ext != $ext)

{

echo "文件 ".$file_path." 后缀名不一致,已忽略
";

continue;

}

echo "正在替换文件 ".$file_path." 中的多空格
";

removeBr2($file_path);

}

}

}

}

/**

* 正则匹配所有换行

* @author Xm

* @anotherdate 2018-04-18T10:27:47+0800

* @param [type] $file_path [description]

* @return [type] [description]

*/

function removeBr2($file_path)

{

if(file_exists($file_path)){

$fp = fopen($file_path,"r");

//指定读取大小,这里把整个文件内容读取出来

$len = filesize($file_path);

if($len <= 0 && $fp)

{

echo "文件 ".$file_path." 无法读取或内容为空
";

return;

}

$str = fread($fp,$len);

// 匹配所有换行,替换成一个换行

// $preg = "/(\r\n)+/";

$preg = "/(\r\n){1,}/";

// 正则

// preg_match_all($preg, $str, $a);

$str = preg_replace($preg,"\r\n",$str);

$fp = fopen($file_path,"w");

if($str != "")

fwrite($fp,$str);

fclose($fp);

}

}

$base = ".";

$ext = "php";

readDirs($base,$ext);

?>

或者使用编辑器正则匹配换行, 编辑器一键去除如sublime 跟 vscode  CTRL+F 选择正则匹配

匹配两个换行以上

^\s*(?=\r?$)\n

或者一个换行就匹配

^(?=\r?$)\n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值