Регулярное выражение для поиска телефонных номеров



Столкнулся с проблемой поиска телефонов в тексте – конкретно при анализе заголовка страниц сайтов. Есть любители написать телефон фирмы в заголовок, что меня естественно не радовало. После недолгих раздумий решил вырезать к чертям эти телефоны, решил использовать регулярные выражения, получилось во такое:

[+\s?0-9]{0,}\s?\(?[0-9]{1,}\)?\s?[0-9]{1,}-?\s?[0-9]{1,}-?\s?[0-9]{1,}

Ну а, для тех, кто еще только начинает заниматься программированием и не знает как это дело применить советы:

Для вырезание телефонов из строки в php используйте:

1
$str = preg_replace("@[+\s?0-9]{0,}\s?\(?[0-9]{1,}\)?\s?[0-9]{1,}-?\s?[0-9]{1,}-?\s?[0-9]{1,}@u", '', $str);

Для поиска всех вхождений телефонных номеров:

1
2
preg_match_all("@[+\s?0-9]{0,}\s?\(?[0-9]{1,}\)?\s?[0-9]{1,}-?\s?[0-9]{1,}-?\s?[0-9]{1,}@u", $str, $match);
print_r ($match);

Жду комментариев от тех, кто решил это использовать у себя. Если что-то исправите – говорите.

К сожалению похожих по тематике статей пока нет.

Ответить


[ Ctrl + Enter ]