@Absolute138

Как вырезать российские номера телефона из строки?

Юзеры постят свои телефоны, что недопустимо правилами, но кроме телефонов могут постить и всякие параметры, которые нужны. Найденная на просторах регулярка - работает криво - пример:
$text = 'Lorem ipsum dolor 18. 89108002001 Lorem ipsum dolor 20.3??? 901 2010 705 Lorem 90 60 90 ipsum dolor (901) 865-3308  sit amet 90-60-90 ipsum dolor 90/60/90 Lorem ipsum: 90.60.90 dolor!';

$b = preg_replace('/((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}/', ' *** ' , $text);
echo $b;

Результат выполнения:
Lorem ipsum dolor 18. *** 01 Lorem ipsum dolor 20.3??? *** 705 Lorem *** ipsum dolor  *** sit amet *** ipsum dolor 90/60/90 Lorem ipsum: 90.60.90 dolor!

Как выпилить явные номера телефона в различных написаниях:
89108002001
901 2010 705
901 201 07 05
+7 901-201-07-05
901-201-07-05
(901)201-07-05
(901) 20107-05
8 9 1 0 8 0 0 2 0 0 1
и т.д
Не знаю точно к чему здесь привязаться... Девятка в начале и больше или равно 10 цифрам?
  • Вопрос задан
  • 189 просмотров
Решения вопроса 1
@dzhebrak
[\(+]?(\d[+\(\) -]*){10,11}

https://regex101.com/r/jjoc7E/2
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
The ZAL Москва
от 140 000 до 180 000 ₽
RecruitIT Москва
от 100 000 до 160 000 ₽
от 130 000 до 180 000 ₽
26 окт. 2020, в 10:48
3000 руб./за проект
26 окт. 2020, в 10:42
30000 руб./за проект
26 окт. 2020, в 10:18
50000 руб./за проект