Регулярное выражение для телефонов с пробелами на странице html
Помогите, пожалуйста, составить регулярное выражение, все перепробовал.
Задача - собрать номера с html страницы в разных вариациях - с пробелами, со скобками и так далее.
Есть выражение, которое собирает все номера
preg_match_all('/(\+?(?:(?:\-|\(|\)))?\d){1,31}/is', var_export($html), $results);
Однако оно не учитывает пробелы и ковычки.
Пробовал выражения для обработки
/\s|\+|-|\(|\)/
Для удаления пробелом и ненужных символов, но много раз погонял и заметил, что они(телефоны с пробелами и кавычками) не попадают в первую выборку.
Подскажите, пожалуйста, как можно объединить поиск телефона на html странице и поиск номеров с пробелами и кавычками?
Не силен в регулярных выражениях, роюсь в интернете вторые сутки, никак не могу найти решения.
Вот список примеров номеров, которых хотелось бы отыскать
8(ddd)ddddddd;
+7(ddd)ddddddd;
+7 ddd ddddddd;
8 ddd ddddddd; (Тут вариации всех пробелов в разных местах например 8 ddd ddd dd dd; и так далее а так же для +7)
8 (ddd ) ddddddd; (Тут вариации всех пробелов в разных местах например 8 (ddd )ddd dd dd; и так далее а так же для +7)
8 (ddd ) ddddddd; (Тут вариации всех пробелов в разных местах например 8 (ddd )ddd dd dd; и так далее а так же для +7)
8 (ddd ) ddddddd; (Тут вариации всех пробелов в разных местах например 8 (ddd )ddd dd dd; и так далее а так же для +7)
8 -ddd - ddd-dd-dd; (Тут вариации всех пробелов и этих самых тире в разных местах например 8 (ddd )ddd dd dd; и так далее а так же для +7)