Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Długie słowa skrócone i zastąpione ...
Forum PHP.pl > Forum > PHP
Mezir
Witam, chciałbym zrobić, gdy ktoś ma dłuższy nick niż 20 znaków, to pokazuje pierwsze 10 znaków, a resztę zastępuje "...". Przykładowo nick "ToJestMojNowyNick" zamienia na"ToJestMojN...". Nicki mam pod zmienną $nick.
Z góry dzięki, pozdrawiam.
bobek358
Podpowiedź strlen i substr
Mezir
Dzięki! Gdyby ktoś potrzebował:
  1. if(strlen($nick) <= 20)
  2. {
  3. echo $nick;
  4. }
  5. else
  6. {
  7. echo ''.substr($nick, 0, 20).'...';
  8. }


Pozdrawiam.
Skie
Cytat
''.


Ta konkatenacja na poczatku echo jest zbędna.
KsaR
Cytat(Mezir @ 21.08.2015, 07:52:28 ) *
Dzięki! Gdyby ktoś potrzebował:
  1. if(strlen($nick) <= 20)
  2. {
  3. echo $nick;
  4. }
  5. else
  6. {
  7. echo ''.substr($nick, 0, 20).'...';
  8. }


Pozdrawiam.

Hm, poprawie ci... "gdyby ktoś potrzebował" tongue.gif
Bo inni moga miec polskie znaki czy inne w stringu.
  1. echo isset($nick[20])?mb_substr($nick,0,20,'UTF-8').'...':$nick;


Hmm, ale ja bym zrobił to raczej tak:
  1. echo isset($nick[22])?mb_substr($nick,0,20,'UTF-8').'...':$nick;

Bo jak się przemyśli, gdy $nick bedzie miec 21 znaków zrobi z tego 24.
To lepiej sprawdzić czy ma 23 i zrobic z tego 20 + 3 kropki tongue.gif
Comandeer
Jest jeszcze możliwość zrobienia tego przy pomocy CSS: http://jsfiddle.net/Comandeer/zmc708ze/
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.