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

时间:2017-02-16 12:00:42

标签: php regex phone-number digits

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

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

答案 0 :(得分:0)

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

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

RegEx Demo