Mahlzeit,
Jetzt bleibt noch die Frage, kann PHP aus dieser Nummer 089123456789 bei der Ausgabe 089 - 123456789 machen?
nicht "einfach so", weil das deutsche Vorwahlen-Schema chaotisch ist und keinem klaren System folgt: Die Vorwahl kann AFAIK von zwei bis vier Ziffern lang sein (die führende Null nicht mitgerechnet). Du müsstest also gegen eine Tabelle aller Vorwahlnummern prüfen, wie Jörg schon skizziert hat (der Aufwand, diese Tabelle aktuell zu halten, dürfte gering sein, so oft werden Vorwahlbezirke ja nicht geändert, neu geschaffen oder gelöscht).
Ich würde es vermutlich anders machen: Ich würde etwas mehr Aufwand mit der Normalisierung bei der Eingabe treiben und zumindest die Zifferngruppierung so übernehmen, wie sie eingegeben wurde, Also beispielsweise (089) 3728492 zu +49-89-3728492 normalisieren.
Dann kann ich bei der Ausgabe relativ einfach "+49" durch eine Null ersetzen und habe eine nationale Telefonnummer in üblicher Schreibweise, während ich andere Ländervorwahlen unverändert ausgeben würde, also etwa +31-514-564628.
So long,
Martin