Mailinglisten-Archive | 
Hallo Namensvetter,
ich steuere hiermit auch noch eine Loesung bei:
function is_word_end ($c)
/*
 Ueberprueft, ob der Buchstabe das Ende eines Wortes ist.
 Rueckgabewert:
       0, wenn es sich um einen normalen Buchstaben handelt
       1, wenn es das Ende eines Wortes ist (Leerzeichen oder , . ? ! ;)
      -1, wenn kein einzelner Buchstabe uebergeben wurde
*/
{
  // Ist der Parameter wirklich ein Buchstabe?
  if (!is_string ($c))
    return -1;
  if (strlen ($c) != 1)
    return -1;
  // Diese Zeichen Werden als Wortende akzeptiert
  $signs = array (',',
                  '.',
                  '?',
                  '!',
                  ';',
                  ' ');
  // Ueberpruefen der einzelnen Zeichen
  for ($i = 0; $i < count($signs); ++$i)
    if ($c == $signs[$i])
      return 1;
  return 0;
}
function StrShorten ($str, $num_chars)
/*
 Kuerzt $str auf $num_chars und nimmt ggf. noch Zeichen mit,
 damit ein Wort nicht in der Mitte abgeschnitten wird.
 Rueckgabewert:
       $str mit einer Laenge von $num_chars + (maximal 20) zusaetzlichen
Zeichen
*/
{
  // Wurden die richtigen Parameter uebergeben?
  if (!is_string ($str))
    return;
  if (!is_int ($num_chars))
    return;
  // Es muessen mehr als 0 Buchstaben abgeschnitten werden
  if ($num_chars < 1)
    return;
  // Abschneiden der ersten &num_char Woerter
  $ret = substr ($str, 0, $num_chars);
  // Wenn der String kleiner als $num_char ist, wird er direkt ausgegeben
  if ($num_chars > strlen($str))
    return $ret;
  $added_chars = 0;
  while (is_word_end (substr($ret, -1)) != 1 && $added_chars++ < 20)
      $ret = $ret.substr($str, $num_chars++, 1);
  return $ret;
}
> wie könnte es in php möglich sein, einen vorhanden string von maximal 200
> zeichen auf eine länge von 10 worten zu kürzen und hintendran "..." zu
> hängen? wäre die zerlegung mit explode() anhand der leerzeichen ein
mögliche
> lösung?
Einfach StrShorten ($dein_super_string, $anzahl_der_zeichen) aufrufen und
gluecklich sein. Die "..." musst du selbst noch dranhaengen.
Gruss,
   Matthias
--
Matthias Luedtke, matthias-luedtke_(at)_gmx.de
Afgrnd der Ensparngsmassnhmen bei den Onlne-Kostn ist ab sfort in jedm Wrt
von mhr als dri Buchstabn mindestns ein Vkal wegzlassn.
    php::bar PHP Wiki - Listenarchive