Text kürzen

September 2009

Einen Text auf n Zeichen kürzen, ist mit links gemacht. Doch wenn man ihm dabei nicht mitten im Wort abschneiden will, wird es ein bisschen komplexer.
Im folgenden Beispiel wird mit Regex gehandelt.
Der Text wird auf n Zeichen gekürzt, anschliessend werden alle Zeichen am Ende, die keine Whitespaces sind, abgeschnitten.

<?php
// Dein Text
$text 'Text bezeichnet eine abgegrenzte, zusammenhängende Äusserung in geschriebener Sprache,
         im weiteren Sinne auch die nicht geschriebene, aber schreibbare Sprachinformation.'
;

// Die maximale Länge in Bytes der gekürzten Version
$maxlen 70;

if(
strlen($text) > $maxlen){
  
$text substr($text0$maxlen);
  
$text preg_replace('#[^\s]*$#s'''$text) . '...';
}

echo 
$text;
# Text bezeichnet eine abgegrenzte, zusammenhängende Äusserung in ...
?>

Wenn substr() alleine angewendet wird, ergibt sich folgendes:
Text bezeichnet eine abgegrenzte, zusammenhängende Äusserung in geschr...... was mitten im Wort abgeschnitten ist.

Siehe auch:
 
PHP


Andere Einträge