2010-02-05 33 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