function sayfa_hesapla($metin, $sbk = 1000 /* sbk: Sayfa başına kelime sayısı */) {
$kelimeler = explode(' ', $metin); // Kelimelere bölüyoruz
$sayfa_sayisi = $kelimeler/$sbk + ($kelimeler % $sbk > 0 ? 1 : 0); // kelime sayısının, sayfa başına kelime sayısına bölümü ve eğer kelime sayısı sayfa başına kelime sayısına tam bölünmüyorsa +1 diyoruz
}
function sayfayi_bol($metin, $sayfa = 0, $sbk = 1000) {
$kelimeler = explode(' ', $metin); // Kelimelere bölüyoruz
$return = array();
for ($i = $sayfa*$sbk; $i < ($sayfa+1)*$sbk; ++$i) {
$return[] = $kelimeler[$i]; // İstenen aralıktaki kelimeleri bir diziye atıyoruz.
}
return implode(' ', $return); // Diziyi boşluklarla bir string haline getiriyoruz.
}
/*
Veritabanı işlemleri
*/
$kac_sayfa = sayfa_hesapla($makale);
echo sayfayi_bol($makale, (empty($_GET['sayfa']) ? 0 : (int) $_GET['sayfa']));
for($i = 0; $i < $kac_sayfa; ++$i) {
echo '
<li>', ($i != $_GET['sayfa'] ? '<a href="?sayfa=' . $i+1 . '">' : ''), $i+1, ($i != $_GET['sayfa'] ? '</a>' : ''), '</li>';
}