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 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.

Какие услуги предоставляю:
- Создание сайтов, шаблонов и компонентов на 1С-Битрикс;
- Разработка функционала с нуля и доработка кода на уже созданных проектах;
- Адаптивная вёрстка макетов и натяжка на Битрикс;
- Парсинг файлов и выгрузка на сайт (форматы - CSV, XML, XLSX, JSON)
- Интеграции со сторонними сервисами по API;
- Многоязычные версии и многое другое.

Если у вас остались вопросы, свяжитесь со мной любым удобным для вас способом или оставьте комментарий внизу.
E-mail: dmitriyribka@gmail.com
Skype: cinemacreaterus

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *