我可以从PHP的shell_exec()输出中修剪开始和结束空格吗?

时间:2013-01-25 12:47:28

标签: 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_replace('/\s+/', ' ', $string);,但这也删除了换行符。正常trim似乎也无济于事。

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

2 个答案:

答案 0 :(得分:0)

您的正则表达式$string = preg_replace('/\s+/', '', $string);将替换所有空格。 要从字符串的开头和结尾修剪空格,请尝试trim()。 如果您需要修剪字符串中的所有行,请尝试

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

答案 1 :(得分:0)

删除空格和标签,应保留换行符,试一试:

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

仅限空格删除\ t