ďťż
Podstrony
|
telcocafeCzy 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 :( |
|||
Sitedesign by AltusUmbrae. |