2013-01-25 2 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 문자 등이 정상적으로 작동 할 것입니다. '\ n'을 '\ r'로 바꿀 수 있습니다. – jasir

0

공백과 탭을 제거하려고, 그것을 시도 : 공백 만 들어

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

이 \의 t을 제거

+0

변경되지 않았습니다. 걱정됩니다. –