Mailinglisten-Archive |
Hi Raffael,
Am Montag, 5. Dezember 2005 15:07 schrieb Raffael Schmid:
> Lutz Zetzsche wrote:
> >Ich vermute mal, wenn man sich mit regulären Ausdrücken auskennt, kann man
> > das auch in einen komplizierten regulären Ausdruck packen... :-)
>
> das sehe ich jetzt als herausforderung an;-)
>
> *function* formatiereZeichenkette($string) {
> $pattern=array(
> '/.{3}$/',
> '/.{7}$/',
> '/.{10}$/',
> '/\.|\-/A'
> );
> $replacement=array(
> '.$0',
> '.$0',
> '-$0',
> '$1'
> );
>
> $string=preg_replace($pattern,$replacement,$string);
>
> return $string;
> }
>
> Der Ausdruck ist gar nicht soooo kompliziert, aber ich bin mir auch sicher,
> dass es noch viel kompliziertere und schnellere Lösungen gibt...
na, das sieht in der Tat sehr schön einfach aus. :-))) Gefällt mir sehr gut.
Reguläre Ausdrücke stehen ja immer in dem Ruf langsamer zu sein, aber ich
möchte nicht unerwähnt lassen, daß Deine RegEx-Lösung etwas mehr als doppelt
so schnell wie meine Lösung ist! Ich habe es gerade mal mit 1000
Schleifendurchläufen getestet. Das Verhältnis war eigentlich konstant. :-)
Viele Grüße
Lutz
php::bar PHP Wiki - Listenarchive