ホームページ  >  記事  >  バックエンド開発  >  将字符串分成两部分解决思路

将字符串分成两部分解决思路

WBOY
WBOYオリジナル
2016-06-13 12:55:471342ブラウズ

将字符串分成两部分
将一个字符串,按照开头的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,字符串处理
------解决方案--------------------
preg_match_all("/www\.[a-z]*\.[a-z]*/is", $str, $out);
preg_match_all("/A:[a-z]*/is", $str, $out2);
------解决方案--------------------
$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);
------解决方案--------------------
$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";<br />
preg_match_all("/(?:(www\..*?),<br><font color='#FF8000'>------解决方案--------------------</font><br>(A\:.*?)(?=,<br><font color='#FF8000'>------解决方案--------------------</font><br>$))/",$str,$match);<br />
$str1 = preg_replace("/,{2,}/",",",implode(",",$match[1]));<br />
echo preg_replace("/^,/","",$str1); <br />
echo "<br>";<br />
$str2 =preg_replace("/(,{2,})/",",",implode(",",$match[2])); <br />
echo preg_replace("/^,/","",$str2);

------解决方案--------------------
$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";<br />
preg_match_all('/(www[\w.]+),?(A:\w+)?/',$str,$m);<br />
echo join(',',$m[1]);<br />
echo '<br>';<br />
echo join(',',array_diff($m[2],array('')));

------解决方案--------------------
$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";<br />
<br />
preg_match_all('/(www[^,]+)<br><font color='#FF8000'>------解决方案--------------------</font><br>(A:[^,]+)/', $str, $res);<br />
$a = join(',', array_diff($res[1], array('')));<br />
$b = join(',', array_diff($res[2], array('')));<br />
<br />
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。