PHP – Как сделать телефон из строки по маске

Получаем телефон из поля, который записан в виде цифр – 73123123123, и форматируем его в более читаемый вид – 7 (312) 312-31-23.

При помощи функции форматирования строки sprintf и функции substr выводим наш набор цифр в более читаемый вид. Хорошо если на вашем сайте установлена js маска, и все телефоны подгоняются сразу под нужный формат. Но там где этого нет на помощь может прийти PHP.

Давайте глянем код. В переменной $params[“BUYER_PERSON_COMPANY_PHONE”] находится наша строка в виде чисел.

$from = $params["BUYER_PERSON_COMPANY_PHONE"]; // 73123123123
$to = sprintf("%s (%s) %s-%s-%s",
	substr($from, 0, 1),
	substr($from, 1, 3),
	substr($from, 4, 3),
	substr($from, 7, 2),
	substr($from, 9)
);
echo "тел.: ". $to; // 7 (312) 312-31-23

Первым параметром мы задаем маску, размечая части при помощи %s. Обратите внимание, в самой маске вы можете задать различные символы, главное правильно “порезать” наш телефон.

При помощи substr формируем нужные нам отрезки строки – первый параметр это наша строка ($from), второй параметр это с какого символа вырезаем, и, тут внимание, сколько символов берем после второго параметра. Не путайте, это не промежуток от символа до символа.

Надеюсь у вас всё получилось 🙂

автор: Dmitriy

З 2011 року займаюся веб-розробкою. Зараз я – PHP Full Stack Developer.
Обговорити ваш проект, а також дізнатися більше про мене ви можете на цьому сайті:
dev.forwww.com

Email: dmitriyribka@gmail.com

2 коментаря

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *