например так: PHP: <pre> <?php @set_time_limit(0); @ini_set("display_errors","1"); function grab_regexp($pattern,$inf) { preg_match($pattern, $inf, $array); return $array; } $str = "this123 some12 text12 as4 192.145.85.123 and wil12 posisble 111.222.333.444"; $pat= '/([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/is'; $i = 0; while ($i<3) { $a[$i] = grab_regexp($pat,$str); echo $a[$i][1] . "\n"; $str = str_replace($a[$i][1],"",$str); $i++; } ?> </pre> т.е. функция стандартная, а вот её применять её просто нужно правильно, тогда и массивы будут разные, и нерандомные названия, и к ним всегда можно будет обратиться