phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?Re:_=5Bphp=5D_String_verk=FCrzen?=

[php] =?iso-8859-1?Q?Re:_=5Bphp=5D_String_verk=FCrzen?=

Cyrill Schumacher webmasterbhs_(at)_bluewin.de
Sat, 30 Dec 2000 14:24:19 +0100


> Ich benötige eine Funktion, die aus einem String, der einen
> seitenlangen Text enthält, einen kürzeren String generiert, der eine
> feste Anzahl an Zeichen (inkl. Leerzeichen) enthällt.
>
> linken. (z.B. 100 Zeichen vom Anfang des Textes an)

entweder du machst das über substring:

$teaser = substr($string,0,100);

aber dabei riskierst du, dass du texte bekommst wie:
"Die Silversternacht wird sehr anstre"
sprich, substr schneidet halt nach 100 zeichen genau ab.

oder du gehst so vor:

$string_array = preg_split("/\s/",$string); // string zerlegen
$zeichen = 100; // anzahl der zeichen für die ausgabe
$nz = 1;    // hier nix ändern
for($i=0;$i<count($string_array);$i++){
    if($nz <= $zeichen){
        printf('%s ',$string_array[$i]);
    } else { break; }
    $nz += strlen($string_array[$i]);
}

jetzt wird der string einfach nicht abgeschnitten nach 100 zeichen,
sondern die ganzen wörter bleiben erhalten !

kiri

PS: ungetestet





php::bar PHP Wiki   -   Listenarchive