Bir regex kesinlikle bu bir overkill. Eğer bir "telefon numarası" almak ve 10 haneli bunu normalleştirmek istiyorsa, bu bir regex için iyi bir kullanım olacaktır. Eğer soruyorsun ne yapmak, gibi bir şey:
echo "(".substr($data, 0, 3).") ".substr($data, 3, 3)."-".substr($data,6);
Zaten verileri bölmek için biliyorum bu yana, sadece substr veya istediğiniz parçalarını kapmak için benzer bir şey kullanabilirsiniz. RegEx her zaman sıkı bir biçimi yok dizelerinin eşleşmesi için yararlıdır. (Boşluk değişken numaralar gibi, değişken şeyler önce veya o ekstra çizgiler, vb sonra). Ama sizin durumunuzda giriş her zaman kesinlikle 10 basamak, başka hiçbir şey biçimlendirilir, böylece bunu biçimlendirmek için bir RegEx'in ekstra yükü gerekmez.