Mailinglisten-Archive |
> 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