Я думаю, что это должно работать
preg_replace('/^\+1(\d{3})(\d{3})(\d{4})$/i', '$1-$2-$3', '+18761234567');
Я предполагаю, что +1
является константой, а затем использую ярлык \d
для сопоставления десятичных символов.Значение в {}
- это количество символов для сопоставления.