2011-03-10 3 views
6

개행 (\ r \ n)을 공백으로 바꾸고 싶지만 공백 행을 유지하고 싶습니다. 즉, \ r \ n이 (가) 앞에 다른 \ r \ n이 없으면 \ r \ n을 ''로 바꾸고 싶습니다. 예를 들어 :개행을 바꾸지 만 공백 행을 유지하십시오

line 1 

line 2 
line 3 
line 4 

내가이

와 지금 뭘하는지 인 ...로 "라인 1 개 라인 2 라인 3 라인 4"와 같은

line 1 

line 2 line 3 line 4 

하지만하지를 끝낼 놈이야

preg_replace("/\r\n/", " ", $string); 

답변

3

이 시도 : 물론

(?<!\n)\n(?!\n) 

, 당신은 당신이 원하는 영역 \n을 변경할 수 있습니다.

예제 : http://ideone.com/dF5L9

+0

지금까지 제안 된 유일한 것이 실제로 필요에 따라 작동하는 것으로 보입니다. +1. –

+0

아름다운. 나는 (? ssam

2

이 시도 :

preg_replace("/(.)\r\n(?=.|$)/", "$1 ", $string); 
+0

아니요. 그것은 여전히 ​​빈 줄을 죽입니다. 시도해 줘서 고마워. – ssam

+0

이렇게하면 2 줄의 줄 바꾸기가 하나 줄고 첫 줄은 줄 1 바로 뒤에 줄 수 있습니다. – Kobi

+0

@ssam : 내 업데이트를 참조하십시오. – Gumbo

1

이는 어떻게해야 트릭 :

preg_replace("/(?<!\n)\n(?!\n)/", " ", $string); 
관련 문제