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