Funktion zum eleganten Kürzen von Texten und Strings 2webdesign.de das Magazin für Webdesign und E-Commerce

die Community für Webdesign, Ecommerce und Marketing



 
 Index |  Forum |  Chat[0] |  
 
  

  Artikel

   



  Neueste Forenbeiträge
 

  Backlinks (mehr)
Wie funktioniert's?

  pixel

Funktion zum eleganten Kürzen von Texten und Strings

Autor: Dave Remmel (Homepage)

Praktische Funktion zum Kürzen von Strings auf eine bestimmte länge. Dabei wird nur nach vollständigen Wörtern abgeschnitten.



Gerade im Webdesign-Bereich kommt es regelmäßig wieder vor, dass man Fließttext auf eine bestimmte Länge kürzen muss um ihn beispielsweise in einem begrenzten darstellen zu können. Allerdings sieht es nicht unbedingt gerade schick aus, wenn man den Text mitten im Wort abschneidet. Nachdem ich das schon mehfach immer spontan hingefrickelt habe, habe ich nun endlich mal eine entsprechende Funktion dafür geschrieben:

Code:
function cut_string($string,$max_length)
//Schneidet einen String nach eine bestimten
//Anzahl an Zeichen ($max_length) so ab, dass
//nur nach vollständigen Wörtern getrennt wird
//
//copyright by www.2webdesign.de
{
    $array = explode(" ", $string);
    $new_string = "";

    if ( $max_length >= strlen($string) )
    {
        return $string;
    }
   elseif( count($array) <= 1 )
   {
      return substr($string, 0, $max_length);
   }
    else
    {
        foreach ($array as $word)
        {
            if (  (strlen($word) + strlen($new_string) ) <= $max_length )
            {
                $new_string .= $word . " ";
            }
            else
            {
                    $new_string = rtrim($new_string);
                    return $new_string;
            }
        }
    }
}


Erläuterung


Der erste Parameter $string enthält - wer hätte das gedacht - den String mit dem Fließtext während $max_length die Maximale Anzahl an Buchstaben wiedergibt.
Als erstes wird der Text per explode() an den Leerzeichen zerteilt. Wenn der $string kürzer ist, als $max_length wird er direkt und ohne Umschweife wieder zurückgegeben. Enthält er dagegen keine Leerzeichen wird per substr() einfach abgeschnitten. Hier kann man, je nach Beliebgen alternativ auch false oder den Ursprungsstring ($string) zurückgeben. Ist das nicht der Fall wird nun in einer Schleife jedes Wort einzeln zu dem neuen String $newstring hinzugefügt und deren Länge überprüft. Wird $max_length überschritten, wird $newstring zur Sicherheit noch mit der Funktion rtrim() umd das Leerzeichen gekürzt und zurückgegeben.

 
cron


Musiker-Forum | Bibel-Forum Jesus
Immobilien Hamburg Impressum