Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Skracanie zadługiego stringu do odpowiedniej długości
Forum PHP.pl > Forum > Przedszkole
Magan
Witam wszystkich. To mój pierwszy post na tym forum więc przepraszam jeżeli dałem ten temat w złym dziale. winksmiley.jpg

Ostatnio potrzebowałem na swojej stronie z kodami do gier skryptu skracającego tytuły gier ponieważ nie mieściły mi się i tabela zmieniała szerokość co nie ładnie wyglądało. Jestem już trochę więcej niż początkujący w php dlatego postanowiłem się podzielić tym skryptem z najsłabszymi. smile.gif

Oto skrypt:

  1. <?php
  2. $iloscZnakow=strlen($sring);//do zmiennej $iloscZnakow przypisywana jest liczba znaków
  3. $skraca='40';//conf; tyle ile się wpisze, tyle zostawia znaków
  4. if ($iloscZnakow>$skraca) {//jeżeli $iloscZnakow jest większa niż $skraca kod jest wykonywany
  5. $ucina = $skraca-$iloscZnakow;//odejmujemy ilość znaków która ma zostać od ilość znaków w stringu
  6. $string = substr($string, 0, $ucina);//funkcja substr ucina znaki i przypisuje zmodyfikowany string
  7. $string = $string.'...';//do zmodyfikowanego stringu przypisujemy trzy kropki żeby łanie wyglądało ;)
  8. }
  9. ?>


Jeżeli więc tytuł gry o nazwie "Bardzo Długi Tytuł Bardzo Fajnej Gry Strategiczno-Przygodowej" ma więcej niż 40 znaków skracany jest do "Bardzo Długi Tytuł Bardzo Fajnej Gry Str...". smile.gif

Kilka uwag...
Funkcja strlen zlicza również spacje. winksmiley.jpg
W linii z if ($iloscZnakow>$skraca) { miałem problem bo zamiast wstawić > wstawiłem >= i gdy tytuł gry miał tyle samo znaków ile było ustawione w skrypcie zamiast skróconego tytułu wyświetlało się ... to znaczy że skracał się cały tytuł. smile.gif

Mam nadzieję że komuś to się przyda. winksmiley.jpg

Jeżeli ktoś mimo tego że opisałem wszystko najlepiej jak umiałem ma problem to oczywiście że pomogę. ;D
nospor
Na początek:
nie zrozum mnie źle, nie chcę cię tu dołować czy naśmiewać się z Ciebie.

A teraz do rzeczy:
Ja rozumiem, iż są to Twoje początki, że skrypty 5-cio linijkowe co tu pokazaleś wydają się dla Ciebie nie lada wyzwaniem i skoro dla Ciebie to i pewnie dla masy innych uzytkowników. Ale daruj sobie i nie chwal się każdym kodem co napiszesz, bo naprawdę nie ma czym.

http://pl2.php.net/manual/en/function.substr.php
Takich kodow w komentarzach jest na pęczki.

Jeśli każdy by poszedł w Twoje ślady, to forum zostałoby zasypane masą 5 linijkowych bardzo "poważnych i trudnych" kodów.

Cytat
Funkcja strlen zlicza również spacje.
No to wyjasnij nam jeszcze co robi magiczne slowo IF winksmiley.jpg

zamykam. Jak napiszesz coś poważnego, to zapraszam to działu Algorytmy, klasy, funkcje. Powtarzam: coś poważnego.

edit:
Cytat
Jestem już trochę więcej niż początkujący w php

Nie doczytalem tego. Tak czy siak, nie wal na forum z takimi gotowymi rozwiązaniami winksmiley.jpg
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.