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