俺的笨办法你又不看
$str="1,2,3,4,,,,7,8,,9,,111";
$array = explode(",",$str);
foreach ($array as $value)
{
  if ($value)
  {
     $new_str .= $value.",";
  }
}
$new_str = substr($new_str,0,-1);
echo $new_str;

解决方案 »

  1.   

    这个办法偶看过了,现在正在用呢,不过总感觉还有好的办法,非常感谢wjjchen(redfox) 的建议,小弟已经用上了。
      

  2.   

    $str = "1,2,3,4,,,,7,8,,9,,111";
    echo preg_replace('/,+/',',', $str);
      

  3.   

    Meteorlet(www.imsorry.com.cn/blog)感谢您的答案,但是
    $str = ",,,,1,2,3,4,,,,7,8,,9,,,,,,,,,,111";
    echo preg_replace('/,+/',',', $str);
    情况下,就成了
    ,1,2,3,4,7,8,9,111
    能否可以将前面的,也过虑了呢,谢谢
      

  4.   

    echo preg_replace('/,+/',',', trim($str,','));
      

  5.   

    echo trim(preg_replace('/,+/', ','), ','));