Una volta che sai quante sono le pagine totali ed il numero della pagina corrente puoi fare una cosa del genere
Codice PHP:
if($current > 1) $pag .= '[*][url="index.php?p=1"]Inizio[/url]';
for($i=5;$i>0;$i--)
{
if( ($current-$i) > 1 ) $pag .= '[*][url="index.php?p='.($current-$i).'"]'.($current-$i).'[/url]';
}
$pag .= '<li class="active">'.$current.'';
for($i=1;$i<6;$i++)
{
if( ($current+$i) < $tot_pages ) $pag .= '[*][url="index.php?p='.($current+$i).'"]'.($current+$i).'[/url]';
}
if($current < $tot_pages) $pag .= '[*][url="index.php?p='.$tot_pages.'"]Fine[/url]';
echo $pag;