PHP: нормализация номера телефона

Задача: на входе строка, которая может содержать номер, или номер + какие то комментарии к нему. Необходимо нормализовать номер, что бы были только цифры.

Решение:

Сначала напишем функцию проверки наличия букв в строке:

Далее, если есть буквы, то удалим их, и ограничим длинну поля 11 символами..

И общий результат:

Linux: цветной вывод в консоль

Иногда бывает полезно вывод в консоль скриптов чуть «раскрасить», чтобы более наглядно акцентировать внимание пользователя на как-то детали. Для того чтобы вывести текст цветным, необходимо применять специальные наборы спецсимволов. Цвет включается по принципу «реле», т.е. цвет нужно включить, а затем выключить.

ЦветОсновнойФон
Стандартный\033[39m\033[49m
Чёрный\033[30m\033[40m
Тёмно-красный\033[31m\033[41m
Тёмно-зелёный\033[32m\033[42m
Тёмно-жёлтый «Оранжевый»\033[33m\033[43m
Тёмно-синий\033[34m\033[44m
Темно-пурпурный\033[35m\033[45m
Тёмно-голубой\033[36m\033[46m
Светло-серый\033[37m\033[47m
Тёмно-серый\033[90m\033[100m
Красный\033[91m\033[101m
Зелёный\033[92m\033[101m
Оранжевый\033[93m\033[103m
Синий\033[94m\033[104m
Пурпурный\033[95m\033[105m
Голубой\033[96m\033[106m
Белый\033[97m\033[107m
Сброс цвета\033[0m\033[0m
Таблица цветов

Например выведем текст зеленым цветом на PHP:

Результат работы скрипта:

Получение геокординат по адресу

Задача: получить координаты по известному адресу

Решение: воспользуемся API Яндекс.Карты по геокодированию. К сожалению бесплатная версия ограничена 1000 запросов в сутки. Но это обходимо возможностью «растягивать» во времени заполнение БД

OTP авторизация

Суть в чём: для каждого пользователя хранится некий OTP ключ (соль), на основании которого генерируется некий код, который в один момент времени (плюс-минус 30 секунд) будет одинаковый с ключём сгенерированным сторонним приложением. Естественно этому стороннему приложению сначала необходимо передать ключ.

Соответственно если код сгенерированный при проверке одинаков с ключем сгенерированным приложением, можно считать что идентификация успешно пройдена.

OTP авторизация обычно используется как «дополнительная», т.е. в качестве реализации двухфакторной авторизации.

Соберём класс для генерации кода на основании токена:

Использование:

Для того чтобы руками не вводить в OTP приложение начальный токен, можно генерировать QR код, с текстом вида:

otpauth://totp/мой_сайт:логин?secret=токен&issuer=логин

RabbitMQ: Отложеная доставка и время жизни пакета

Собрал наконец в одном классе, всё что мне нужно от RabbitMQ: а именно отправка сообщения в очередь, с отложеной доставкой, плюс уничтожение сообщения по прошествии какого то времени «не доставки».

Ну да, казалось бы элементарные вещи, но на PHP примеров для этого случая не сказать что уж слишком много как оказалось..

1 2 3 4 5 6 22