php разбить строку на числа не больше указанного числа

ВНИМАНИЕ: если вам нужна функция ,которая работает с очень большими (произвольной длинны) числами, то идите сюда = http://fkn.ktu10.com/?q=node/4234

/*
	данная функция принимает строку $str
	из одних цифр и разбивает её на блоки - числа, 
	каждое из которых не больше заданного $n
	(подразумевается ,что $n должно быть достаточно большим-
	то есть, вообще говоря больше чем любая цифра - т.е. >9)*/
	function get_blocks_array($str, $n)
	{
		$rarr = array();// массив чисел (результат)
		$arr = str_to_arr($str);
		$block = '';// строка для хранения очередного блока(числа)
		foreach ($arr as $value)
		{
			$block .= $value; // приклеиваем очередной символ
			if (to_number($block)>$n) {
				$block = (integer)($block/10);// тогда убираем один разряд = $value
				$rarr[] = $block; // добавляем число в массив 
				$block = ''; // обнуляем блок
				$block .= $value;// добавляем последний элемент, который не вошёл в предыдущий блок
			}			
 		}
		if ($block != '') // если что-то осталось
			$rarr[] = $block;
		
		
		// можно вывести на экран, то что получилось
		echo "<br> строка  = ".$str;
		echo "<br> n  = ".$n;
		foreach($rarr as $val) 
		{
		  echo '<br>';
		  echo '<br>'.$val;
		}
		
		return $rarr;
	}