【发布时间】:2017-04-07 22:22:15
【问题描述】:
我目前正在使用正则表达式查找电话号码的字符串上运行preg_match_all。当它找到匹配项时,它会记下字符串中的偏移位置。
preg_match_all 示例:
preg_match_all('/\b\/?\d?[-.]?\s?\(?\d{3}\)?\s?[-.]?\d{3}[-.]?\d{4}\b/', $string, $matches, PREG_OFFSET_CAPTURE);
使用 print_r
echo print_r($matches, true).BR;
输出:
Array
(
[0] => Array
(
[0] => Array
(
[0] => 666.666.6666
[1] => 1190
)
[1] => Array
(
[0] => 555-555-5555
[1] => 1206
)
)
)
问题:如何循环匹配并回显数字和偏移位置?
【问题讨论】:
-
你能提供你的输入字符串吗?
-
我正在解析的字符串是电子邮件正文内容,太长无法在此处发布,并且是私人电子邮件。所有匹配等都很好,我只需要知道如何循环遍历在上面示例中找到的数据数组。这样,如果需要,我可以将数字及其偏移位置存储到变量或数据库中。
标签: php loops multidimensional-array foreach preg-match-all