Det var en kryptisk kod. Det jag ser på rak arm är att du använder explode och arrayer för att emulera funktionen strstr()
En for loop hade nog också varit att föredra framför en while-dito, men det är inte ett tekniskt problem som förstör resultatet i sig. Loppen i sig verkar dessutom bara vara ett sätt att leta efter en siffra i textmassan. preg_match är mer lämplig för det jobbet.
För det andra undrar jag hur din rådata ser ut. Logiken bakom din paginering är omöjlig att förklara om man inte sett dess struktur.