繁体   English   中英

正则表达式-删除末尾的空行

[英]regex - remove empty lines at the end

我想删除邮件末尾的空引号行:

> Hello
> 
> thats quotet>
>
>

> Hello
> 
> thats quotet>

但是正则表达式preg_replace("/^>\\W*$/m", "", $input_lines)不会解决问题,因为它还删除了不在结尾处的空行的>。

编辑:仍然存在问题,仅应删除行首>

使用rtrim ,它将删除字符串右侧的指定字符。 我们要从末尾删除“>”和换行符。

代码

echo rtrim($input, ">".PHP_EOL);

结果

> Hello
> 
> thats quotet

您可以使用:

$result = preg_replace('~^(?:^>\h*\R?)*+\z~m', '', $input_lines);

为了避免无用的测试,您还可以尝试以下手动模式:

$result = preg_replace('~^(?:^>\h*\R?)*+(*SKIP)\z~m', '', $input_lines);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM