将一个字符串,按照开头的www 和A:将字符串分成两个字符串
$str = "www.asdfsfd.com,A:xiaohua,www.baidu.com,A:huanghuang,www.360buy.com,www.huahua.com,www.huanghuang.com,A:asdds,www.dd.com";将这个字符串分成两个字符串 输出为$a="www.asdfsfd.com,www.baidu.com,www.360buy.com,www.huahua.com,www.huanghuang.com,www.dd.com";
$b ="A:xiaohua,A:huanghuang,A:asdds";php,字符串处理

解决方案 »

  1.   

    preg_match_all("/www\.[a-z]*\.[a-z]*/is", $str, $out);
    preg_match_all("/A:[a-z]*/is", $str, $out2);
      

  2.   

    $str_arr = explode(',',$str);
    foreach($str_arr as $key=>$val){
      if(substr($val,0,3) == 'www'){
        $a_str .= $val.',';
      }else{
        $b_str .= $val.',';
      }
    }
    $a = substr($a_str,0,-1);
    $b = substr($b_str,0,-1);
      

  3.   

    $str = "www.asdfsfd.com,A:xiaohua,www.baidu.com,A:huanghuang,www.360buy.com,www.huahua.com,www.huanghuang.com,A:asdds,www.dd.com";
    preg_match_all("/(?:(www\..*?),|(A\:.*?)(?=,|$))/",$str,$match);
    $str1 = preg_replace("/,{2,}/",",",implode(",",$match[1]));
    echo preg_replace("/^,/","",$str1); 
    echo "<br>";
    $str2 =preg_replace("/(,{2,})/",",",implode(",",$match[2])); 
    echo preg_replace("/^,/","",$str2);
      

  4.   

    $str = "www.asdfsfd.com,A:xiaohua,www.baidu.com,A:huanghuang,www.360buy.com,www.huahua.com,www.huanghuang.com,A:asdds,www.dd.com";
    preg_match_all('/(www[\w.]+),?(A:\w+)?/',$str,$m);
    echo join(',',$m[1]);
    echo '<br>';
    echo join(',',array_diff($m[2],array('')));
      

  5.   

    呃,array_chunk() 不行,要拆单双……
      

  6.   

    $str = "www.asdfsfd.com,A:xiaohua,www.baidu.com,A:huanghuang,www.360buy.com,www.huahua.com,www.huanghuang.com,A:asdds,www.dd.com";preg_match_all('/(www[^,]+)|(A:[^,]+)/', $str, $res);
    $a = join(',', array_diff($res[1], array('')));
    $b = join(',', array_diff($res[2], array('')));