<?php

$re = "/[0-9]+\s{0,10}\R?([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}),([0-9]{1,3}) --> ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}),([0-9]{1,3})\s{0,10}\R(.*\R?.*\R?.*)\R{2}/m"; 
$str = "1\r\n00:00:01,163 --> 00:00:05,150\r\naaaaaaa\r\n\r\n2\r\n00:00:05,556 --> 00:00:05,921\r\nbbbb\r\nbbbb\r\n\r\n3\r\n00:00:07,753 --> 00:00:08,168\r\ncccccccccccccc\r\n\r\n4\r\n00:00:22,854 --> 00:00:28,721\r\n\r\n\r\n5\r\n00:00:23,336 --> 00:00:31,558\r\ndddddddddddddd\r\ndddddddddddddd\r\n\r\n\r\n6\r\n00:00:34,228 --> 00:00:36,296\r\neeeeeeeeeeeeee\r\n\r\n7\r\n00:00:35,165 --> 00:00:39,785\r\nfffff\r\nffff"; 
preg_match_all($re, $str, $matches, PREG_SET_ORDER);
print_r($matches);