PHP: sprintf() format

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
oli_f
Beiträge: 272
Registriert: 24.10.2003 12:27:05

PHP: sprintf() format

Beitrag von oli_f » 16.08.2006 13:02:36

Ich möchte sprintf() beibringen den string den es erhält folgendermassen auszugeben:
der text wird auf 3 Zeilen gekürzt und zusätzlich wird jede zeile je auf ca. 60 zeichen gekürzt.

Kann ich das mit einer maske erreichen, oder muss ich den string wirklich in drei Schritten ausgeben? (Was ich unbedingt nicht möchte, da ich dann die Klasse die ich verwende umdesignen müsste)

Hoffe jemand kann mir schnell auf die Sprünge helfen.

gruss oli
error - divided by 0

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 16.08.2006 13:20:01

Ich glaube, dass du das nicht mit sprintf hinbekommst, zumidnest gibt das php-Manual nichts diesbezüglich her.

Aber so ein for für drei Zeilen ist doch gleich geschrieben....
Perl macht Spass.

oli_f
Beiträge: 272
Registriert: 24.10.2003 12:27:05

Beitrag von oli_f » 16.08.2006 14:17:57

Hmm ok, komme irgendwie nicht weiter. Um nun den string zeilenweise auszugeben, muss ich ja ein regex haben, dass zb. die erste Zeile matcht, eines für die zweite und dritte. Denn ich muss ja den string immer bei den \n aufteilen. Wie müsste das aussehen?
error - divided by 0

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von GoKi » 16.08.2006 14:46:03

Bin jetzt nicht so der super PHP-Experte, aber ich würde einfach die Funktionen wordwrap und explode benutzen.
http://www.php.net/manual/en/function.wordwrap.php
http://www.php.net/manual/en/function.explode.php
MfG GoKi
:wq

oli_f
Beiträge: 272
Registriert: 24.10.2003 12:27:05

Beitrag von oli_f » 16.08.2006 18:37:43

ok, danke. Mit explode und substring habe ich nun eine lösung konstruiert. ist noch nicht so elegant, aber funktioniert jedenfalls!

Noch eine fraage an die phpcracks: ist explode unbedenklich? ist ja eine relativ unberechenbare funktion, jenachdem was sie für einen string erhält...
error - divided by 0

Zwerg
Beiträge: 397
Registriert: 26.12.2005 00:10:09
Wohnort: Magrathea
Kontaktdaten:

Beitrag von Zwerg » 18.08.2006 00:19:29

oli_f hat geschrieben:Noch eine fraage an die phpcracks: ist explode unbedenklich? ist ja eine relativ unberechenbare funktion, jenachdem was sie für einen string erhält...
Was heist unberechenbar? Die Funktion trennt anhand eines Trennzeichens, nicht mehr nicht weniger. In deinem Fall denke ich mal anhand von Linefeeds? Ich hab auch nochmal schnell ne lösung zusammengebaut.

http://nopaste.debianforum.de/3967

Hoffe konnte helfen

oli_f
Beiträge: 272
Registriert: 24.10.2003 12:27:05

Beitrag von oli_f » 21.08.2006 12:47:43

ah tol, merci! Dein code ist eindeutig besser...

Ich habe ihn nun noch erweitert, so dass in der letzten zeile pünktchen stehen, falls der text noch weitere zeilen hat. Wenn es aber die letzte zeile des textes ist, wird sie einfach ausgegeben.

Zudem werden allen gekürtzten zeilen pünktchen agehängt.

Vieleich hat ja jemand verwendung dafür:

http://nopaste.debianforum.de/3991
error - divided by 0

Antworten