$string = ' 1 2 3 4 5 6 ';
preg_match_all('/ \d+ \d+ /', $string, $matches);
array(
0 => ' 1 2 ',
1 => ' 4 5 ',
);
array(
0 => ' 1 2 ',
1 => ' 2 3 ',
2 => ' 3 4 ',
3 => ' 4 5 ',
4 => ' 5 6 ',
);
Ищет в строке subject все совпадения с шаблоном pattern и помещает результат в массив matches в порядке, определяемом комбинацией флагов flags.
После нахождения первого соответствия последующие поиски будут осуществляться не с начала строки, а от конца последнего найденного вхождения.
$s = ' 1 2 3 4 5 6 7 8 9 10 11 12 ';
$matches = array();
$exp = preg_split('#\s+#u', trim($s));
foreach($exp as $key => $piece){
if(isset($exp[$key - 1])) $matches[] = $exp[$key - 1].' '.$piece;
}
var_dump($matches);
$string = ' 1 2 3 4 5 6 ';
$out = array();
while(preg_match('/ \d+ \d+ /', $string, $matches, PREG_OFFSET_CAPTURE)){
$out[] = $matches[0];
$string = substr($string, $matches[0][1] + 1);
}
var_dump($out);
То ли лыжи не едут, то ли я