如何使用PHP或正则表达式修剪每个新行的开头和结尾的空白区域

lau*_*kok 2 php regex whitespace trim

如何使用PHP或正则表达式修改每个新行的开头和结尾的空白区域?

例如,

$text = "similique sunt in culpa qui officia 

     deserunt mollitia animi, id est 

  laborum et dolorum fuga   

";
Run Code Online (Sandbox Code Playgroud)

应该,

$text = "similique sunt in culpa qui officia

deserunt mollitia animi, id est

laborum et dolorum fuga
";
Run Code Online (Sandbox Code Playgroud)

mar*_*rio 13

对于此任务,使用正则表达式肯定更快.但是如果你喜欢嵌套函数,那么trim所有行都会有空格:

$text = join("\n", array_map("trim", explode("\n", $text)));
Run Code Online (Sandbox Code Playgroud)

  • 正则表达式更快?我根据你的方法测试了我的正则表达式(`/[ \t]+$/m`)(只是用 `PHP_EOL` 而不是 "\n"),它慢了大约 5 倍(1000 时为 22,4ms vs 4,3ms)迭代约 900 个字符的字符串)。该正则表达式已经比其他正则表达式快两倍,因为它只删除尾随空格。 (2认同)