for($i=0;$i<strlen($str);$i++)
{
$sub=substr($str,$i,1);
if(ctype_digit($sub))
$ISNUM[$i]=$sub;
else
$ISNUM[$i]=" ";
if(ctype_digit($sub))
$ISSTR[$i]=$sub;
else
$ISSTR[$i]="";
}
{
$sub=substr($str,$i,1);
if(ctype_digit($sub))
$ISNUM[$i]=$sub;
else
$ISNUM[$i]=" ";
if(ctype_digit($sub))
$ISSTR[$i]=$sub;
else
$ISSTR[$i]="";
}
$ISSTR里面是字符和空格,你自己根据空格把连续在一起的字符分开就可以了。
{
$sub=substr($str,$i,1);
if(ctype_digit($sub))
$ISNUM[$i]=$sub;
else
$ISNUM[$i]=" ";
if(ctype_digit($sub))
$ISSTR[$i]="";
else
$ISSTR[$i]=$sub;
}这个是对的,上面有错误,嗬嗬,太着急了写的时候。!!
$str="AB1234CD";
$p = array("/(\d+)/","/[A-Z]{1,}/");
foreach($p as $v)
{
preg_match_all($v,$str,$arr);
print_r($arr);
}
?>
好简单。。
preg_match_all("|^([a-zA-Z]+)([0-9]+)([a-zA-Z]+)$|",$str,$arr);
print_r($arr);
echo $arr[1][0].'----'.$arr[2][0].'----'$arr[3][0].'----';
$str="AB1234CD";
$reg = "/[a-zA-Z]+|[0-9]+/";
preg_match_all($reg,$str,$arr);
list($head,$number,$tail) = $arr[0];
echo $head.$number.$tail;
?>
$str="AB1234CD";
$reg = "/[^\d]+|[\d]+/";
preg_match_all($reg,$str,$arr);
print_r($arr[0]);
?>