Uzun metinleri sayfalama Yardım !!!
8
●555
- 02-12-2010, 22:45:52Strpos ile substr kullanabilirsiniz. Bhcoder https://www.r10.net/1065168610-post9.html linkte açıklamış.
<?php $text = "Korkma, sönmez bu şafaklarda yüzen al sancak Sönmeden yurdumun üstünde tüten en son ocak. O benim milletimin yıldızıdır parlayacak! O benimdir, o benim milletimindir ancak! <!--more--> Çatma, kurban olayım, çehreni ey nazlı hilal! Kahraman ırkıma bir gül... ne bu şiddet, bu celâl? Sana olmaz dökülen kanlarımız sonra helal. Hakkıdır, Hakk'a tapan milletimin istiklal. Ben ezelden beridir hür yaşadım, hür yaşarım; Hangi çılgın bana zincir vuracakmış? Şaşarım! Kükremiş sel gibiyim, bendimi çiğner, aşarım. Yırtarım dağları, enginlere sığmam, taşarım."; $hede = strpos($text,'<!--more-->'); echo $hede ? substr($text,0,$hede) : $text; ?>
- 02-12-2010, 23:08:05Üyeliği durduruldumetin sayfalamayıda verdik daha önce.
<?php $str = <<<EOD Korkma, sönmez bu şafaklarda yüzen al sancak Sönmeden yurdumun üstünde tüten en son ocak. O benim milletimin yıldızıdır parlayacak! O benimdir, o benim milletimindir ancak! <!--pager--> Çatma, kurban olayım, çehreni ey nazlı hilal! Kahraman ırkıma bir gül... ne bu şiddet, bu celâl? Sana olmaz dökülen kanlarımız sonra helal. Hakkıdır, Hakk'a tapan milletimin istiklal. <!--pager--> Ben ezelden beridir hür yaşadım, hür yaşarım; Hangi çılgın bana zincir vuracakmış? Şaşarım! Kükremiş sel gibiyim, bendimi çiğner, aşarım. Yırtarım dağları, enginlere sığmam, taşarım. <!--pager--> Garbın âfâkını sarmışsa çelik zırhlı duvar. Benim iman dolu göğsüm gibi serhaddim var. Ulusun, korkma! Nasıl böyle bir imânı boğar, 'Medeniyyet!' dediğin tek dişi kalmış canavar? EOD; $pager = array(); $pager = explode('<!--pager-->',$str); $total = count($pager); echo $total; print_r($pager); // $total değişkenini herhangi bir sayfalama kodunuza entegre ediniz ?> - 02-12-2010, 23:11:40
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>'; }