regexp replace
nina
- php
hi,
wie kann man "(030) " in "030-" umwandeln?
habe einige tel nummern, wobei manche im stil von "0321/", manche "0123 / "... sind und es sollen am schluss alle im format
01234-... sein, also vorwahl minus ...
würde mich freuen, wenn ihr eine lösung dafür hättet, den preg_Replace mit einem regexp wie ^(.*?)^ ersetzt die gesamte vorwahl, anstatt sie ohne klammern, aber dafür mit - zurückzugeben...
danke
Hallo Nina,
wie kann man "(030) " in "030-" umwandeln?
am einfachsten mit str_replace().
Laut dem von mir verlinkten Handbuchabschnitt solltest Du _nicht_ zu einem regulären Ausdruck greifen.
habe einige tel nummern, wobei manche im stil von "0321/", manche "0123 / "... sind
auch hier bietet sich str_replace() an.
und es sollen am schluss alle im format
01234-... sein, also vorwahl minus ...
würde mich freuen, wenn ihr eine lösung dafür hättet, den preg_Replace mit einem regexp wie ^(.*?)^ ersetzt die gesamte vorwahl, anstatt sie ohne klammern, aber dafür mit - zurückzugeben...
Warum reguläre Ausdrücke? Soweit ich Deinen Bedarf verstehe, reicht es völlig aus:
( und Leerzeichen durch einen leeren String, ) und / durch ein Minuszeichen zu ersetzen. Für Faulenzer reichte es somit, im Sucharray zuerst ) und / in beliebiger Reihenfolge, gefolgt von ( und Leerzeichen in beliebiger Reihenfolge anzugeben, im Array mit den Ersatzzeichenketten zwei gleiche Einträge mit jeweils einem Minuszeichen. Willst Du fleißiger sein, so ergänze im replace-Array noch zweimal einen Leerstring (der Vorgabewert).
Freundliche Grüße
Vinzenz
Hello out there!
wie kann man "(030) " in "030-" umwandeln?
[…] und es sollen am schluss alle im format
01234-... sein, also vorwahl minus ...
Warum willst du das? Die Schreibung entspräche keiner Norm. Der Bindestrich trennt bei Anlagenanschlüssen die Durchwahl ab. Die Vorwahl wird durch Leerzeichen abgetrennt.
Siehe Rufnummer: Schreibweise.
See ya up the road,
Gunnar
Hallo
Warum willst du das? Die Schreibung entspräche keiner Norm. Der Bindestrich trennt bei Anlagenanschlüssen die Durchwahl ab. Die Vorwahl wird durch Leerzeichen abgetrennt.
Warum sollte sie das nicht wollen? Warum muss man sich an "Normen" klammern, insbesondere wenn die Nummern sehr unleserlich werden:
Siehe Rufnummer: Schreibweise.
ja siehe genau dort. Meine Augen haben Probleme mit diesen Rufnummern. Ich persönlich empfinde Strukturierung mit Klammern oder Strichen sehr angenehm. Sieben oder gar acht Ziffern ohne Strukturierung gemäß Norm sind dagegen eine Zumutung. Ich kann diese nicht gut lesen, ich mache Fehler beim Wählen, es kostet Zeit, vielleicht auch Geld, es nervt. Also benutze ich meinen Verstand und pfeife ebenfalls auf die Schreibweise nach DIN 5008.
Und vielleicht geht es ja nicht nur mir so ...
Freundliche Grüße
Vinzenz
Hello out there!
Sieben oder gar acht Ziffern ohne Strukturierung gemäß Norm sind dagegen eine Zumutung.
Da hast du recht, Leerzeichen (am besten U+202F narrow no-break space) wären angebracht.
Aber die Vorwahl muss man deshalb nicht mit '-' (was eine andere Funktion hat) abtrennen, Leerzeichen (U+00A0 no-break space) tun es auch, oder '/' oder auch Klammern.
See ya up the road,
Gunnar
Hallo Gunnar,
Sieben oder gar acht Ziffern ohne Strukturierung gemäß Norm sind dagegen eine Zumutung.
Da hast du recht, Leerzeichen (am besten U+202F narrow no-break space) wären angebracht.
Aber die Vorwahl muss man deshalb nicht mit '-' (was eine andere Funktion hat) abtrennen, Leerzeichen (U+00A0 no-break space) tun es auch, oder '/' oder auch Klammern.
das sind gute Ideen. Ich glaube, ich habe in naher Zukunft selbst Verwendung für diese Anregungen. Danke.
Freundliche Grüße
Vinzenz
Hello out there!
das sind gute Ideen. Ich glaube, ich habe in naher Zukunft selbst Verwendung für diese Anregungen. Danke.
Nur blöd, dass nicht alle Browser U+202F narrow no-break space unterstützen: http://forum.de.selfhtml.org/archiv/2005/10/t116565/#m746396
See ya up the road,
Gunnar