Tutoriale WEB     [RO]  [EN]  
| HOME | Tutoriale | Stiri | SERVICII | Director | Unelte | FORUM | Despre | HARTA | Contact | CAUTA |
.....................................................
.....................................................
User happy birthdayAzi sarbatorim 1 zi de nastere.
(dannyb0y)
.....................................................
Autentificare
Inregistrare
Am uitat parola
.....................................................
.....................................................
Online
In total exista
7 vizitatori online,
dintre care:
1 este invitat
6 sunt boti
.....................................................
Pune reclama ta aici
.....................................................
.....................................................
.....................................................
.....................................................
.
Home - Impartire camp text in pagini

<< Deco Tool   -   Snap to Objects si Snap Align >>
Voteaza acest articol (doar membrii)
1 2 3 4 5
A - A Anuntati pe aceasta cale administratorul site-ului pentru orice problema observata la aceasta pagina.  Printeaza pagina ca document PDF  Email  
Suntem interesati de parerea ta, te invitam sa completezi formularul de aici

Impartire camp text in pagini


Data publicarii: 02-05-2011 - Copyright © Razvan

Deseori avem articole (pagini) care conţin mult text şi care lungesc mult pagina la afişare. O soluţie ar fi paginarea acelui articol şi împarţirea lui în bucăţi mai mici pentru o vizibilitate mai bună în site.
Mai jos găsiţi o funcţie şi exemplu de folosire pentru a pagina un text.

COD:
/**
 * paginare text
 *
 * @param str $string - contine textul ce urmeaza a fi paginat
 * @param int $pieces - numarul de bucati/caractere dorite
 * @param str $type - daca este specificat textul 'chars' atunci paginarea
 * se va face in functie de nr de caractere specificate in $pieces
 * - daca nu este specificat nimic, atunci paginarea se va face in functie de
 * nr de bucati specificate in $pieces
 *
 * @return array $newtext - returneaza textul paginat sub forma de array
 */
function break_string($string, $pieces, $type = '') {
   /*
   This function splits a string in a certain number of pieces or after a
   number of characters. (without breaking words)
   if $type is 'chars' - the string will be split after the selected number of characters
   if $type is '' - the string will be split in number of pieces
   */
   $length = strlen($string);
   $segment = ($type == 'chars') ? $pieces : ceil($length / (int)$pieces);
   $newtext = wordwrap($string, $segment, '#|#', true);
   $newtext = explode('#|#', $newtext);
   $pieces_gen = count($newtext);
   //the string is split in a number of pieces - check the number of pieces
   if ($type == ''){
      while ($pieces_gen > $pieces) {
         //too many pieces - merge the last two pieces
         $newtext[$pieces_gen - 2] .= ' '.array_pop($newtext);
         unset($newtext[$pieces_gen - 1]);
         $pieces_gen = count($newtext);
      }
   }
   return $newtext; //$newtext is an array
}

Exemplu de folosire:

COD:
//$text = textul din baza de date;
$text_spart = break_string($text, 5); //impartit in 5 parti
//sau in bucati care contin in jur de 1000 de caractere: $text_spart = break_string($text, 1000, 'chars');
$numar_bucati = count($text_spart);
$part = isset($_GET['part']) ? intval($_GET['part']) : 1; 
if ($part < 1 || $part >  $numar_bucati) 
   $part = 1; // se afiseaza mereu prima pagina daca pagina ceruta nu exista 
$i=1;
while ($i <= $numar_bucati) {
   if($i == $part) {
      echo ' '.$i;
   }
   else {
      echo ' <a href="?part='.$i.'">'.$i.'</a>';
   }
   $i++;
}
echo $text_spart[$part-1];

Dacă aveţi sugestii de înbunătăţire a acestui exemplu puteţi folosi formularul de mai jos din această pagină, iar dacă aveţi neclarităţi vă aştept în forum.

Data publicarii: 02-05-2011 - Copyright © Razvan   
Apasati aici daca doriti sa vedeti alte articole de acelasi autor

Exista 4 articole asemanatoare, apasati aici pentru lista.

Nu exista comentarii la acest articol. Fii primul care isi spune parerea.

Adauga un comentariu la acest articol (doar pentru membri autentificati pe site):
Promovare imobiliara