要实现,当逗号是在双引号时就不分割,该如何实现?例如字符串: 
   e23,"dfd,bnn",rty分割后↓
   e23
   dfd,bnn
   rty

解决方案 »

  1.   

    普通的做法就是把双引号里的逗号替换成一个特殊字符,按逗号切割后再替换回来。
    $str = 'e23,"dfd,bnn",rty,aa,bb';$s  = preg_replace("/\"(.[^\"]*?)\"/ie","str_replace(',','@@','\\1')",$str);
    $d  = array_map(create_function('$s','return str_replace("@@",",",$s);'),explode(",",$s));
    print_r($d);
      

  2.   

    <?
    $str = 'e23,"dfd,bnn",rty';
    $s=str_replace(',','',$str);
    print $s[0].$s[1].$s[2]."<br>".$s[4].$s[5].$s[6].",".$s[7].$s[8].$s[9]."<br>".$s[11].$s[12].$s[13];
    ?>特傻的方法,但还是可以做到楼主要的结果~~~