2012-04-02 2 views
1

공백 문자의 여러 인스턴스를 바꾸려고합니다. 내 초기 검색은 모두 /s을 사용하는 데 초점을 맞추고 있지만 여기에는 개행과 다른 공백이 포함되어 있습니다.php preg_replace 두 개 이상의 공백

나는 이것이 가까워 야한다고 생각합니까? 하나 개의 공간

preg_replace('/ {2,}/', ' ', $string); 
+0

정상적으로 보입니다. 뭐가 문제 야? – MichaelRushton

+1

귀하의 질문은 무엇입니까? 정규식이 좋아 보인다! – stema

+0

정말요? 좋은 추측 이었나. –

답변

3

두 개 이상의 인스턴스 공간을 " "을 대체이게 무슨 노력에 대해 :

preg_replace('/\s\s+/', ' ', $string); 
+1

OP는 공백뿐만 아니라 '\ s'을 원하지 않습니다. – stema

+0

@stema'[] [] +'그 해결책이 될 것입니다 ... –

+0

'[]'대괄호는 무엇을합니까? 패턴을 쉽게 나눌 수 있도록 도움을 주나요? –

0
$str = 'word word 123.'."\n\n".'new line word'; 
$replaced = preg_replace('#\h{2,}#m', ' ', $str); 

출력 :

단어 단어 123

새로운 라인 직장

\h 이스케이프 시퀀스는 가로 간격 전용입니다. m 수정자는 여러 줄로 구성됩니다.