ďťż

Podział strony

       

Podstrony


telcocafe

Czy istnieje w PHP metoda, która ułatwiła by mi podział stron. Chodzi o to, że jedna z moich podstron jest bardzo długa. Może jest jakaś funkcja, która po pewnej ilości znaków "ciełaby" stronę na kawałki i wyświetlała na dole np. napis "dalej".
PS. Includ'owanie podzielonego pliku przykład.htm na np. przykład1.htm, przykład2.htm itd. odpada.
Użytkownik marcin_rys edytował ten post 20 maj 2006, 17:25


http://forum.ks-eksp...showtopic=82722

Widziałem już ten temat. Ale tam chodzi o obrazki :( . Mi chodzi o słowa.

możesz np wyświetlać pierwsze XX znaków / wyrazów, a następnie poprzez parametr z tablicy GET operować nad dalszym wyświetlaniem strony :-)



W googlach znalazłem wzmianke o funkcji "split". Jednak niejasno jest wytłumaczone, czy się do tego nadaje.
PS. Co do odpowiedzi Bełdzia: Przepraszam, ale nie zabardzo rozumiem fragment "wyświetlać pierwsze XX znaków". Jak mam to zrobic :( ?

Jeśli chodzi o znaki to skorzystaj np z funkcji substr :-)


Jeśli chodzi o znaki to skorzystaj np z funkcji substr :-)

oblookaj to :

function obetnij( $string, $length = 80, $etc = '...',                                  $break_words = false, $middle = false ) {  if ( $length == 0 )   return '';     if ( strlen( $string ) > $length )  {      $length -= strlen( $etc );         if ( !$break_words && !$middle )             $string = preg_replace( '/\s+?(\S+)?$/', '', substr( $string, 0, $length+1 ) );                 if( !$middle )             return substr( $string, 0, $length ).$etc;   else             return substr( $string, 0, $length / 2 ).$etc.substr( $string, -$length / 2 );     }  else         return $string; }

Hmmmm... Dziękuje serdecznie za ten kod, jednak nie jest on dla mnie całkem jasny. Nie ma czegoś prostszego?
Dałoby się coś z tym zrobić (proszę się nie śmiać :) )?
<?php function obetnij ($tekst, $dlugosc = 200, $od = 0) { if ($dlugosc==0) return ''; if (strlen($tekst)>$dlugosc) { substr($tekst,$od,$dlugosc); } } ?>
Użytkownik marcin_rys edytował ten post 21 maj 2006, 17:21
a nie latwiej po prostu

<?php echo substr( $tekst, 0, $dlugosc );

samo użycie substr będzie ucinał wyraz :-) podany przezez mnie kod zachowuje wyrazy nienaruszone :-)

oik to nie bede gorszy i napisze swoja wersje tej funkcji ;]

<?php    function cut( $tresc, $limit = 255, $start = 0 )    {        $i = $limit + 1;        while( !eregi( ' ', substr( $tresc, $limit, $i ) )        {         $i++;        }        return substr( $tresc, $start, $i );    }
pisane z palca - nie testowalem
Użytkownik BalonPL edytował ten post 21 maj 2006, 17:47
No dobrze. Jedna sprawa z głowy. Jednak mam jeszcze jedno pytanie: Jak się do tego odwołać i gdzie to zamieścić? W pliku z tym "długim tekstem"? Na dole zrobić odnościki coś w rodzaju np. [1] [2] [3]?

function ileStron( $tekst, $limit ) {    return strlen( $tekst ) / $limit; } function showPager( $tekst, $limit ) {    $pager;    for( $i = 0; $i < ileStron( $tekst, $limit ); $i++ )    {        $pager += '['.($i + 1).'] ';    } } function showPage( $p, $tresc, $limit ) {    $p = isset( $_GET['p'] ) ? $_GET['p'] : 0;    $start = $limit * $page;    return substr( $tresc, $start, $limit ); }
pisane z palca...
najlepiej na opdstawie tych funkcji napisz sobie klase ; tak bedzie najlepiej
Użytkownik BalonPL edytował ten post 21 maj 2006, 18:08
Tak?
<?php class strony { var $tekst, $limit, $p function ileStron( $tekst, $limit ) {   return strlen( $tekst ) / $limit; } function showPager( $tekst, $limit ) {   $pager;   for( $i = 0; $i < ileStron( $tekst, $limit ); $i++ )   {       $pager += '['.($i + 1).'] ';   } } function showPage( $p, $tresc, $limit ) {   $p = isset( $_GET['p'] ) ? $_GET['p'] : 0;   $start = $limit * $page;   return substr( $tresc, $start, $limit ); } } ?>
I co dalej? Bo ja się pogubiłem :(

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.