CoLLeR adlı üyeden alıntı: mesajı görüntüle
function phone_number($number) {
    return preg_replace('/([^\d]*)(\d*)[^\d]*(\d{3})[^\d]*(\d{2})[^\d]*(\d{2})([^\d]*)/', '$2 $3-$4-$5', $number);
}
Desteklenen numara formatları;
5421234567
05421234567
+905421234567
CoLLeR5421234567CoLLeR
+90542 123 45  67
CoLLeR+90542 123 4567CoLLeR
CoLLeR   +90542 123 45  67CoLLeR
pattern ile oynanarak veya preg_replace_callback ile biraz daha geliştirilebilir.

İyi forumlar.
Geliştirmeye açık zaten isteyen dilediği formata koyabilir biraz oynama ile
İyi forumlar