Mailinglisten-Archive |
WOW!!! Danke... das war genau das, was ich gebraucht habe!!! Nochmals herzlichen herzlichen Dank!!! lg Christian >Hallo Christian, > >Am Freitag, 2. Dezember 2005 13:10 schrieb Christian Hörmann: >> >kurze Nachfrage: >> > >> >Ist die Syntax immer von hinten gesehen drei Stellen, Punkt, drei >> >Stellen, >> >Punkt, zwei Stellen, Bindestrich, drei Stellen, wobei vorne etwas >> > wegfallen kann? Anders gefragt - sind das alle möglichen Kombinationen: >> > >> >1 >> >01 >> >901 >> >8.901 >> >78.901 >> >678.901 >> >5.678.901 >> >45.678.901 >> >3-45.678.901 >> >23-45.678.901 >> >123-45.678.901 >> >> genau richtig! so hab ichs gemeint. du hast den nagel ziemlich genau auf >> den kopf getroffen. > >ok. Dann kommt hier ein Lösungsvorschlag von mir: > ><?php > > function formatiereZeichenkette($sZeichenkette) { > > $iZeichenkette = strlen($sZeichenkette); > $aZeichenkette = array_reverse(str_split($sZeichenkette, 1)); > $sZeichenkette = ''; > > foreach ($aZeichenkette as $iSchluessel => $sZeichen) { > $sZeichenkette = $sZeichen.$sZeichenkette; > if ($iZeichenkette>($iSchluessel+1)) { > if ($iSchluessel==2 || $iSchluessel==5) { > $sZeichenkette = '.'.$sZeichenkette; > } else if ($iSchluessel==7) { > $sZeichenkette = '-'.$sZeichenkette; > } > } > } > > return $sZeichenkette; > } > > $aZeichenketten = array('1', '01', '901', '8901', '78901', '678901', >'5678901', '45678901', '345678901', '2345678901', '12345678901'); > > echo('<table border="1">'); > foreach ($aZeichenketten as $sZeichenkette) { > echo('<tr><td align="right">'.$sZeichenkette.':</td><td >align="right">'.formatiereZeichenkette($sZeichenkette).'</td></tr>'); > } > echo('</table>'); > >?> > >Ich vermute mal, wenn man sich mit regulären Ausdrücken auskennt, kann man >das >auch in einen komplizierten regulären Ausdruck packen... :-) Ansonsten ist >das oben die konventionelle Lösung, die mir am einfachsten erscheint. ;-) > > >Viele Grüße >Lutz
php::bar PHP Wiki - Listenarchive