【发布时间】:2012-04-02 11:01:27
【问题描述】:
我正在尝试使用 preg_match_all 查找所有出现的偏移量
例如
$haystack = 'aaaab';
$needle = 'aa';
preg_match_all('/' . $needle . '/', $haystack, $matches);
$matches 是
Array
(
[0] => Array
(
[0] => Array
(
[0] => aa
[1] => 0
)
[1] => Array
(
[0] => aa
[1] => 2
)
)
)
它从大海捞针返回第一组和第二组 aa ("aa" "aa" "b") 的偏移量,而我希望它也从索引 1 开始返回 "aa"。
Array
(
[0] => Array
(
[0] => Array
(
[0] => aa
[1] => 0
)
[1] => Array
(
[0] => aa
[1] => 1
)
[2] => Array
(
[0] => aa
[1] => 2
)
)
)
有没有办法可以修复正则表达式或使用其他函数(接受正则表达式)来完成这项工作?
PS:我知道 strpos 可以做到这一点,但我要搜索的东西很少,因此将使用 preg_match_all。
【问题讨论】:
标签: php preg-match