php регулярное выражение разделить строку с номерами телефонов на несколько элементов в массиве

Как разбить строку с номерами телефонов на несколько элементов в массиве?

Например, у нас есть строка вроде этой:
"phone" => "+7 (343) 228-02-08 +7 (343) 203-209-3" или же "phone" => "8 (800) 555-92-86 8 (499) 322-16-40 8 (812) 426-10-38"

Но нам нужно сделать это:

"phone" => [
"0" => "+7 (343) 228-02-08",
"1" => "+7 (343) 203-209-3",
]

и для другого

"phone" => [
"0" => "8 (800) 555-92-86 8",
"1" => "8 (499) 322-16-40",
"2" => "8 (812) 426-10-38",
]

Я пытался найти некоторые готовые решения, но ничего не могло быть найдено. Регулярные выражения — это слишком сложно для меня …

1

Решение

Вместо split вы можете использовать сопоставление с помощью preg_match_all функция с использованием этого регулярного выражения:

/\+?\d\h*\(\d{3}\)\h*[\d-]+/

RegEx Demo

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]