function pages($count,$current,$link) { function dolink($num,$text,$link) { return "<a style=\"text-decoration: none\" href=\"".str_replace("%num",$num,$link)."\">$text</a>|"; } if ($count <= 1 || $current < 1 || $current > $count) return ""; $result = "|"; $left = ""; $right = ""; $center = ""; $ll = true; $lr = true; for ($i = 1; $i <= $count; $i++) { if ($i >= $current - 2 && $i <= $current + 2) if ($i == $current) $center .= "<b>$i</b>|"; else $center .= dolink($i,$i,$link); if ($i < 4) if ($i >= $current - 2 && $i <= $current + 2) $ll = false; else $left .= dolink($i,$i,$link); if ($i > $count - 3) if ($i >= $current - 2 && $i <= $current + 2) $lr = false; else $right .= dolink($i,$i,$link); } if ($current > 1) $result .= dolink($current - 1,"<",$link); if ($left != "") { $result .= $left; if ($ll && $current != 6) $result .= "...|"; } $result .= $center; if ($right != "") { if ($lr && $current != $count - 5) $result .= "...|"; $result .= $right; } if ($current < $count) $result .= dolink($current + 1,">",$link); return $result; }
echo "<center>страница: ".pages(40,27,"index.php?page=%num")."</center>";