Is there a way in the PHP regex functions to get all possible matches of a regex even if those matches overlap?
e.g. Get all the 3 digit substrings \'/[\\d
This may not be ideal, but at least it's something.
It looks like you could use a positive lookahead and PREG_OFFSET_CAPTURE
to get all the string indexes for where a 3-digit number exists
$str = "123456";
preg_match_all("/\d(?=\d{2})/", $str, $matches, PREG_OFFSET_CAPTURE);
$numbers = array_map(function($m) use($str){
return substr($str, $m[1], 3);
}, $matches[0]);
print_r($numbers);
Output
Array
(
[0] => 123
[1] => 234
[2] => 345
[3] => 456
)