Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]przycinanie tekstu
Forum PHP.pl > Forum > Przedszkole
barthpl
Mamy taki oto skrypcik, który przycina tekst do określanej długości nie przerywając wyrazów. Nie wydaje mi się on optymalny dlatego czy może ma ktoś pomysł na jego naprawę.
  1. <?php
  2. /**
  3.  * This function returns substring no longer then indicated length but without cutting words apart.
  4.  * @param string - input string;
  5.  * @param int - max length of the output string;
  6.  * @param string - string attached to the output;
  7.  * @return string
  8.  *
  9.  */
  10. function trimString( $string, $length, $suffix )
  11. {
  12.    if( ($strlen = strlen($string)) < $length )
  13.        return $string.($strlen > 0 ? $suffix : null);
  14.  
  15.    $hash = md5( $string .' '. $length .' '. $suffix );
  16.    $break = "<![CDATA[$hash]]>";
  17.    $strtmp = wordwrap( $string, $length, $break, false );
  18.    $strarr = explode( $break, $strtmp, 2);
  19.    return $strarr[0].$suffix;
  20. }
  21. ?>


Jakieś pomysły questionmark.gif
osl
Darti, chodziło o to, żeby nie łamał wyrazów...
zresztą wordwarp jest użyty w tej funkcji...
Darti
Cytat(osl @ 10.06.2009, 14:08:15 ) *
Darti, chodziło o to, żeby nie łamał wyrazów...
zresztą wordwarp jest użyty w tej funkcji...


No przecież nie łamie wyrazów - przełamanie jest w miejscu spacji albo inszego czegoś spacjowatego ...
Wordwrap łamie zdanie zachowując całe wyrazy a np chunk_split łamie na określonej długości stringi
osl
mój błąd, zapomniałem o parametrze $cut i ustawiłem sobie go domyślnie na true ;P

zwracam honor smile.gif
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.