preg_match_all('/\d+/', $str, $matches); print_r($matches); Or to make sure the delimiters are there: preg_match('/C(\d+)P(\d+)/', $str, $matches); On Thu, Jul 24, 2014 at 11:18 AM, Negin Nickparsa <nickparsa@xxxxxxxxx> wrote: > I have a string which always has "C" then a number which it's length can > change anytime and then "P" and then a space and then a word > > like: > > echo "C60P1 Unit"; > > is it anyway to split the string by type? > > from the manual I did this: > > function multiexplode ($delimiters,$string) { > $ary = explode($delimiters[0],$string); > array_shift($delimiters); > if($delimiters != NULL) { > foreach($ary as $key => $val) { > $ary[$key] = multiexplode($delimiters, $val); > } > } > return $ary; > } > echo "C60P1 Unit"; > $str="C60P1 Unit"; > $delimiters = Array("C","P"," "); > $res = multiexplode($delimiters,$str); > echo '<pre>'; > print_r($res); > echo '</pre>'; > > but it seems to me it is so complex for such a small string > does anything for type exist which I don't know about to for example just > grab the numbers?because I just care about the numbers here 60 and 1 > seperately >