$page=5; //当前页
$pageMax=20; //最大页
$page=max($page,1);
$page=min($page,$pageMax);
$limit=3; //左右侧显示页数
$start=$page-$limit>0?$page-$limit:1;
$n=$limit>=$page?$limit-$page+1:0; //补差
$end=$page+$limit>$pageMax?$pageMax:$page+$limit+$n;
for($i=$start;$i<=$end;$i++){
if($i==$page)
echo '<u>第'.$i.'页</u> | ';
else
echo '第'.$i.'页 | ';
}