PHP-изменение формата номера телефона с помощью Regex
Я пытаюсь выяснить, как преобразовать номер телефона в формате
+18761234567
в
876-123-4567
использование регулярного выражения replace.
4 ответов
Я думаю, что это должно работать
preg_replace('/^\+1(\d{3})(\d{3})(\d{4})$/i', '--', '+18761234567');
Я предполагаю, что +1
является константой, а затем используйте \d
ярлык для сопоставления десятичных знаков. Значение в {}
- количество символов, чтобы соответствовать.
Я знаю, что это не регулярное выражение, но это также работает :-)
$num = '+18761234567';
$formatted = substr($num, 2, 3).'-'.substr($num, 5, 3).'-'.substr($num, 8);
это предполагает, что есть 2 символа a начало игнорировать.
preg_replace("/([0-9a-zA-Z+]{2})([0-9a-zA-Z]{3})([0-9a-zA-Z]{3})([0-9a-zA-Z]{4})/", "--", '+18761234567');