我可以从PHP';s shell_exec()输出?

我可以从PHP';s shell_exec()输出?,php,trim,shell-exec,Php,Trim,Shell Exec,我正在运行shell_exec(git log,在本例中)并且我的响应在字符串的开头和结尾都有很多空格 7baca58 test 3 847ad88 test 3 bcd7340 Nother test 21a5f17 Testing git releases 8faa1c0 Add previously ignored files in attempt to push to server with git 我尝试了$string=preg_replac

我正在运行
shell_exec
git log
,在本例中)并且我的响应在字符串的开头和结尾都有很多空格

                    7baca58 test 3
847ad88 test 3
bcd7340 Nother test
21a5f17 Testing git releases
8faa1c0 Add previously ignored files in attempt to push to server with git
我尝试了
$string=preg_replace('/\s+/','$string)但这也会删除换行符。正常的
trim
似乎也没有帮助


如何删除前导空格和尾随空格?

您的regexp
$string=preg\u replace('/\s+/','$string)将替换所有空白。
要修剪字符串开头和结尾的空白,请尝试。
如果需要修剪字符串中的所有行,请尝试

$s = '';
foreach(explode("\n", $lines) as $line) {
    $s. = trim($line);
}

删除空格和制表符,如果要保留换行符,请尝试:

$string = preg_replace("/[ \t]+/", " ", $string);

仅对于空格,删除\t

似乎不会分解字符串。它只返回一个包含一个项目的数组。请正确检查您的输入-什么是下线字符,等等,因为这正常工作。您可以尝试将“\n”替换为“\r”。