Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zbyt długa nazwa
Forum PHP.pl > Forum > Przedszkole
tommy4
Myślałem nad tym, jak zrobić zamianę zbyt długiego tekstu na skrócony tekst z wielokropkiem. Niestety nie wiedziałem pod jakim hasłem szukać na tym forum, chociaż jestem pewien, że już gdzieś to tutaj było. Wymyśliłem taki kod:
  1. <?php
  2.  
  3. $nazwa = "dajmy na to abcdefghijklmnopqrstu";
  4. $liczbaznakow = strlen($nazwa);
  5. $wyswietlanych = 20;
  6. if($liczbaznakow < $wyswietlanych)
  7. {
  8. for($i = $wyswietlanych;$i < $liczbaznakow;$i++)
  9. {
  10. $nazwa{$i} = "";
  11. }
  12. echo $nazwa."...";
  13. }
  14. else
  15. {
  16. echo $nazwa;
  17. }
  18.  
  19. ?>


Tylko nie jestem pewien, czy to jest najlepsze rozwiązanie.

Powyższy skrypt pisany był teraz, także mogą znajdować się tam błędy, ale chodzi o ogólną zasadę.
mike
Skracanie wpisu plus "..."
Jęsli chcesz więcej szukaj pod słowem truncate.

P.S.
Smarty coś takiego ma. Ściągnij sobie kod i popatrz.
tommy4
No, teraz chyba lepiej to wszystko wygląda:



  1. <?php
  2.  
  3. $nazwa = "dajmy na to abcdefghijklmnopqrstu";
  4. $liczbaznakow = strlen($nazwa);
  5. $wyswietlanych = 20;
  6. if($liczbaznakow > $wyswietlanych)
  7. {
  8. $nazwa = substr($nazwa, 0, 20);
  9. echo $nazwa."...";
  10. }
  11. else
  12. {
  13. echo $nazwa;
  14. }
  15.  
  16. ?>



I chyba tak zostawię;)



EDIT:
Jeszcze można wpakować to w funkcję:

  1. <?php
  2. function skroctekst($tekst, $maks)
  3. {
  4. $liczbaznakow = strlen($tekst);
  5. if($liczbaznakow > $maks)
  6. {
  7. $tekst = substr($tekst, 0, $maks);
  8. return $tekst."...";
  9. }
  10. else
  11. {
  12. return $tekst;
  13. }
  14. }
  15. ?>
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.