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-]+/
如何将带有 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-]+/