hi!
also mal vorweg der hintergrund der geschichte:
ich hab ne zitate-sammlung in ner datenbank, und möchte die zitate per gd-lib in ein bild schreiben lassen, um das bild z.B. in einem Forum als Signatur anzeigen zu lassen.
das problem: wenn ich einen text in das bild schreibe, werden am "ende" des bildes nicht automatisch zeinelnumbrüche gemacht. also schreibe ich mir ein script, dass bei einem leerzeichen ab mindestens soundsoviel zeichen die zeile aufhört und die nächste zeile anfängt. gesagt, getan. das script ansich funktioniert:
/* hier wird die erste zeile angezeigt, geht noch n bissl anders als die restlichen */
$trennpunkt[1] = strpos($string," ",50);
$zeichenzahl[1] = $trennpunkt[1];
$zeile[1] = substr($string,0,$zeichenzahl[1]);
echo $zeile[1]."<br>";
/*ab hier gehts regelmäßig weiter... */
$trennpunkt[2] = strpos($string," ",100);
$zeichenzahl[2] = $trennpunkt[2] - $trennpunkt[1];
$zeile[2] = substr($string,$zeichenzahl[1],$zeichenzahl[2]);
echo $zeile[2]."<br>";
$trennpunkt[3] = strpos($string," ",150);
$zeichenzahl[3] = $trennpunkt[3] - $trennpunkt[2];
$zeile[3] = substr($string,$trennpunkt[2],$zeichenzahl[3]);
echo $zeile[3]."<br>";
[...]
Bis hierher funktioniert noch alles.
dann hab ich mir gedacht, dass man das ganze doch praktischer weise in eine schleife verpacken könnte...:
[Zeile 1 wird wieder wie oben gesondert ausgegeben]
$i = 1;
$y = 2;
$z = 100;
do {
$trennpunkt[$y] = strpos($string," ",$z);
$zeichenzahl[$y] = $trennpunkt[$y] - $trennpunkt[$i];
$zeile[$y] = substr($string,$zeichenzahl[$i],$zeichenzahl[$y]);
echo $zeile[$y]."<br>";
$z = $z + 50;
$i++;
$y++;
} while ($z<=strlen($string)) ;
wieso geht das jetzt nicht???
ich bin so langsam am verzweifeln...
ausgegeben wird hier nämlich folgendes:
Das hier wird ein ganz ganz langer string, um zu testen,
ob ein Zeilenumbruch stattfindet... glaub ich
zu testen, ob ein Zeilenumbruch stattfindet... gl
testen, ob ein Zeilenumbruch stattfindet... glaub i
sten, ob ein Zeilenumbruch stattfindet... glaub
kann mir jemand helfen?
viele grüße und besten dank im vorraus,
benni