phpbar.de logo

Mailinglisten-Archive

[php] String parsen - wie am besten?

[php] String parsen - wie am besten?

Matthias Pigulla mp_(at)_webfactory.de
Mon, 22 Feb 1999 23:50:53 +0100


Hallo Leute,

ich brauche ein wenig Hilfe... habe ich einen Text in einem String. Der
Text soll auf einer HTML-Seite angezeigt werden. Damit die Seite nicht
horizontal gescrollt werde muss, will ich sicherstellen, daß spätestens
alle - sagen wir 60 - Zeichen ein Leerzeichen stehen muß; nur so können
die Browser ja einen Umbruch einfügen.

Nun, das ganze findet auch noch auf einer recht gut besuchten Site statt
;-)

Was ich jetzt (als C-Fanatiker) gemacht hätte, wäre in etwa
<C Code>
	char *p = "Der Text";
	int c = 0;
	while (*p) {
		if (*p == ' ') c = 0; else ++c;
		putc(*p++);
		if (c == 60) { putc(' '); c = 0; }
	}
</C Code>

Mein Versuch, sowas auf PHP zu übertragen (mit einer for-Schleife, die
der Reihe nach alle Zeichen des Textes über $p[$i] referenziert)
scheiterte kläglich - die Performance brach total zusammen.

Ich schließe daraus, daß es wohl etwas aufwendiger ist, einen Port des
obigen Codes in PHP auszuführen als die pure C-Version.

Was ich also bräuchte wären Hinweise, wie man obiges Snippet performant
und optimal in PHP schreiben würde.

Ist es für PHP intern einfacher, eine Regex das ganze machen zu lassen?
Wie müßte die überhaupt aussehen? (-> Ich bekomme sie nicht hin.)

Macht es Sinn, z.b. strpos (ich glaube doch, das war es) zu verwenden,
um die Leerzeichen zu finden, anstelle das selber in PHP zu machen? Ich
nehme an, daß eine solche Suche intern performanter ist als in
PHP-Skriptsprache?

Die Funktion chunk_split ist ja auch nocht nicht so ganz, was ich
brauche, kommt aber in die Nähe...

Danke für Eure Mühen!

Matthias
-- 
   w e b f a c t o r y | matthias pigulla
      www.webfactory.de  mp_(at)_webfactory.de


php::bar PHP Wiki   -   Listenarchive