Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] skroty tekstu
Forum PHP.pl > Forum > Przedszkole
Suchy
Witam. JAk wyświetlić np tylko 180 znaków jakiegoś tekstu? Napisał sam co nieco ale to troszke źle działa, bo dzieli rówżnież wyrazy, a ja bym chciał tak, że wyswietla pełne wyrazy
Michasko
Mógłbym pomóc, jeśli chodziłoby o wyświetlenie pierwszych znaków z danego tekstu (nooo...pliku tongue.gif)...
Opisze to smile.gif Stwórz plik tekstowy, np. plik.txt. Na stronie wrzuć taki skrypt:

  1. <?php
  2.  
  3. $plik = fopen("plik.txt","r");
  4.  
  5. $czytaj = fread($plik,100);
  6.  
  7. echo $czytaj;
  8.  
  9. fclose($plik);
  10.  
  11. ?>


100 - to liczba znaków do wyświetlenia smile.gif
Może to Ci pomoże... smile.gif
Chciałem pomóc...jestem początkujący i jak narazie jest to jedyny sposób jaki znam winksmiley.jpg
L_Devil
Koledze raczej chodzi o funkcję substr" title="Zobacz w manualu php" target="_manual, ale żeby nie ucinało wyrazów trzeba się bardziej nagimnastykować winksmiley.jpg
aj_rudy
moze cos takiego
nie wiem czy to najszybszy i najlepszy pomysl, ale tez sie dopiero ucze :]

  1. <?php
  2.  
  3. function pokaz( $tekst,$max_znakow )
  4. {
  5. if ( strlen( $tekst ) <= $max_znakow ) 
  6. return $tekst;
  7.  
  8. $wyrazy = explode( ' ', $tekst );
  9. $fragment = current($wyrazy);
  10. while ( (strlen( $fragment.next( $wyrazy ) ) + 1 ) <= $max_znakow ) 
  11. $fragment .=' '.current($wyrazy);
  12. return $fragment;
  13. }
  14.  
  15.  
  16. $moj='przykladowy tekst ktory wyswietli ponizej podanej ilosci znakow uwzgledniajac pe
    lne wyrazy'
    ;
  17.  
  18. //maly tescik na koniec :]
  19.  
  20. echo pokaz($moj,85).' '.strlen(pokaz($moj,85));
  21.  
  22. ?>


pozdr.
son
Funkcja zaczerpnięta ze smarty smile.gif
  1. <?php
  2.  
  3. function truncate($string, $length = 80, $etc = '...', $break_words = false, $middle = false)
  4. {
  5. if ($length == 0)
  6. return '';
  7.  
  8. if (strlen($string) > $length) {
  9. $length -= strlen($etc);
  10. if (!$break_words && !$middle) {
  11. $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length+1));
  12. }
  13. if(!$middle) {
  14. return substr($string, 0, $length).$etc;
  15. } else {
  16. return substr($string, 0, $length/2) . $etc . substr($string, -$length/2);
  17. }
  18. } else {
  19. return $string;
  20. }
  21. }
  22.  
  23. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.