$var = 'a,,,b,c,,,,,,d,';$var = preg_replace('/,+/', ',', $var);

解决方案 »

  1.   

    echo preg_replace("/,+/", ",", "a,,,b,c,,,,,,d,");
      

  2.   

    $var = 'a,,,b,c,,,,,,d,';
    $var = eregi_replace(',+', ',', $var);
    echo $var;
      

  3.   

    $str="a,,,b,c,,,,,,d,";
    $pr="/,{2,}/";
    $rp=",";
    echo preg_replace($pr,$rp,$str);
      

  4.   

    应该是:
    $pr="/,{1,}/";或$pr="/,+/";
      

  5.   

    采用数组排序好了,简单,方便,高效,实用性强。随手写了个测试代码:test.php:<?
    $str = "a,g,c,f,e,d,b";
    $str_array = explode(",", $str);
    asort ($str_array);
    reset ($str_array);echo "原字符:<br>" . $str . "<br><br>经数组排序后:<br>";
    while (list ($key, $val) = each ($str_array)) {
        echo "$val\n";
    }
    echo "<br><br>";$new_str = implode(",",$str_array);  //应该是你要的东东
    echo "这是你想要的结果吗:".$new_str;?>
    运行,输出:原字符:
    a,g,c,f,e,d,b经数组排序后:
    a b c d e f g 这是你想要的结果吗:a,b,c,d,e,f,g