2013-01-25 23 views
0

我正在運行shell_exec(在本例中爲git log),我的響應在字符串的開始和結尾處有很多空白。我可以修剪PHP的shell_exec()輸出中的開始和結束空白嗎?

    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也似乎沒有幫助。

我怎樣才能刪除前導和尾隨空格?

回答

0

您的正則表達式$string = preg_replace('/\s+/', '', $string);將替換所有空格。 要從開始和結束字符串整理空格,請嘗試trim()。 如果你需要從你的字符串修剪所有行,嘗試

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

似乎沒有爆炸字符串。它只是返回一個包含一個項目的數組。 –

+0

正確檢查您的輸入 - EOL字符是什麼等等,因爲這通常會起作用。您可以嘗試用'\ r'替換'\ n'。 – jasir

0

刪除空格和製表符,應保持換行,試試吧:

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

僅適用於空間刪除\ t

+0

我不害怕。 –