Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrócony opis wpisu na stronie.
Forum PHP.pl > Forum > PHP
NetBeans
Cześć.

Nazwałem wątek może trochę niezrozumiale, ale już tłumaczę o co chodzi.

Otóż przykładowo posiadam na swojej stronie kilka newsów. Przy ich wyświetlaniu w jednej dużej liście chciałbym, aby skrócona wersja newsa (kilka początkowych zdań) pojawiała się pod tytułem wpisu.
I teraz moje pytanie: w jaki sposób Wy to rozwiązujecie? Trzymacie taką skróconą wersję w bazie danych, czy może generujecie sobie takową w locie bezpośrednio po stronie PHP, lub może jeszcze inaczej?

Temat mnie zastanowił, bo jeżeli miałoby się to dziać w locie, to w jakiś sposób trzeba je uciąć. Więc nasuwa się pytanie: jak odmierzyć tą część, którą trzeba uciąć? Przyjmijmy, że tekst zawsze musi się zmieścić w divie o takich samych rozmiarach. Do tego taka operacja byłaby troszkę niewydajna, prawda? W końcu wyjąć z bazy kilkadziesiąt (załóżmy 30 newsów/strona) bloków tekstu, każdy obciąć i wyświetlić...

Czekam na Wasze pomysły. smile.gif
sajegib
No możesz albo w bazie trzymać krótką wersję, albo obciąć, zależy jak wygląda zawartość Twojej bazy smile.gif
Ja bym zrobił explode po spacji (policzyć słowa) lub po kropce (policzyć zdania) no i dla bezpieczeństwa substr gdyby ktoś wrzucił "monolityczny" tekst smile.gif
freemp3
To jest zależne od projektu. Czasami jest tworzona oddzielna kolumna zawierająca krótki opis, a czasami trzeba generować w locie.
W moim przypadku generowanie krótkiego tekstu w locie wygląda następująco:
1. Wycinasz maksymalną długość tekstu jaka może być wyświetlona funkcją mb_substr
2. Szukasz ostatniej spacji funkcją mb_strrpos
3. Ucinasz tekst do znalezionej ostatniej spacji (tak jak w pierwszym punkcie), dodajesz trzy kropki i masz w miare ładny tekst.
franki01
  1. $przyblizona_dlugosc_skroconego_tekstu = 100;
  2. $caly_tekst = "Ala ma kota";
  3. $skrocony_tekst = substr($caly_tekst, 0, strpos($caly_tekst, ' ', $przyblizona_dlugosc_skroconego_tekstu));
NetBeans
Bardzo dziękuję za pomoc. Pozdrawiam!
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.