php 正则表达式将带有 phone 数字的字符串拆分为数组中的几个元素

php regex split string with phone numbers to a few elements in the array

如何将带有 phone 个数字的字符串拆分为数组中的几个元素?

例如,我们有这样的字符串: "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",
]

我试图找到一些现成的解决方案,但什么也找不到。正则表达式 - 对我来说太复杂了......

而不是 split 您可以使用 preg_match_all 函数使用此正则表达式进行匹配:

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

RegEx Demo