Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ciekawa obróbka stringa
kardynalek3
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 12.09.2011

Ostrzeżenie: (0%)
-----


Witam
Potrzebuję obrobić stringa ale w taki sposób, żeby ucinało go na spacji znajdującej się jak najbliżej N-tego znaku. Czyli mam powiedzmy tekst mający 300 znaków a muszę pobrać ok 200 znaków ale sensownej treści (bez urwanego w połowie słowa na końcu stringa). Z góry dziękuję za pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Cytat
Musisz podzielić stringa na tablicę wyrazów,potem przepuścić przez pętlę która zlicza ilość znaków wyrazu z tablicy,jeśli nie przekracza 200
znaków ,dodajesz kolejny wyraz z tablicy i zliczasz od nowa.

wydaje mi się, że to za bardzo przekombinowany sposób i przy dłuższym tekście może być nie wydajny

- osobiście używam kombinacji funkcji strlen, strpos, i substr
- ucina tekst na spacji, zwraca tekst nie dłuższy niż podana maksymalna długość

  1. public function trimText($text, $length)
  2. {
  3. $text = trim($text);
  4. if(strlen($text)>$length)
  5. {
  6. $short = substr($text, 0, $length);
  7. $marker = strrpos($short, ' ');
  8. $cut = substr($short, 0, $marker);
  9. return $cut . "...";
  10. }
  11. else return $text;
  12. }
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 10:23