Я пытаюсь найти смещение всех вхождений с помощью preg_match_all
, например
$haystack = 'aaaab';
$needle = 'aa';
preg_match_all('/' . $needle . '/', $haystack, $matches);
$ совпадений -
Array
(
[0] => Array
(
[0] => Array
(
[0] => aa
[1] => 0
)
[1] => Array
(
[0] => aa
[1] => 2
)
)
)
Возвращает смещение первой и второй группы aa ("aa", "aa" "b") из стога сена, в то время как я ожидаю, что оно также возвратит "aa", начиная с индекса 1.
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.