2010-02-05 55 views

回答

5

使用preg_replace

$str = preg_replace('/-+/', '-', $str); 
+2

或更好的'$海峽的副本=的preg_replace(」/- {2,} /',' - ',$ str);' – raveren

+0

@Reveren這不會錯過---在字符串中間嗎? –

+2

當然,從技術上將recude替換數但恕我直言的差別可以忽略和'/ - + /'很多清潔:) –

0

無需正則表達式

$text="1-2---3--4"; 
$s = implode("-",array_filter (explode("-",$text))) ; 
print_r($s); 
+0

爆炸數組,然後加入回的字符串比正則表達式版本既不更加清晰,也沒有有效的。如果這就是您的想法,請致電 – kennytm

+0

。但不是我。 – ghostdog74