Pokročilé stránkování v PHP

Používám na svých stránkách stránkování typu

<< Předchozí - 1 - 2 - 3 - 4 - |5| - 6 - 7 - 8 - 9 - Další >>

ale při 50 stránkách by byl řádek moooc dlouhý a rozházel by mi strukturu stránky

Můžete mi někdo poradit, jak naprogramovat, aby se zobrazovaly pouze 2 stránky před a za aktuální stránkou?

např.

<< Předchozí - 3 - 4 - |5| - 6 - 7 - Další >>

určitě proto bude nějáká jednoduchá podmínka nebo vlastně 2

<?
if ($strana > 2)
echo $strana;

if ($strana < 2)
echo $strana;
?>

něco v tom smyslu...

budu rád za každou rozumnou radu a jestli na to příjdu sám, tak sem dam určitě vědět, protože jak jsem tak prohledával internet a fóra, tak by to zajímalo nejen mě...
dá se to udělat jednoduchou podmínkou typu:
if(!$aktualni_cislo + $pocet < $aktualni_strana) {
// zobrazit číslo
}
už jsem na to přišel

for ($x = max(1, $strana - 3); $x <= min($stranka, $strana + 3); $x++):
Heej, to je hezký, to se mi moc líbí! ☺