3v4l.org

run code in 300+ PHP versions simultaneously
<?php $data = <<<FOO #shit ## #shit2 #sshit3 mine_sht : carftj ### 漢字漢字貔貅 tv: tee # # HI tvw: 9 #haha #aa 9abaa: ahah #heuens FOO; preg_match_all('~^\s*(?:(\w+)\s*:.[^\r\n#]*([^\r\n]*#*)?)?(#[^\r\n]*)*~um', $data, $matches); print_r($matches);
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.30, 8.2.0 - 8.2.24, 8.3.0 - 8.3.12
Array ( [0] => Array ( [0] => #shit [1] => ## #shit2 [2] => #sshit3 [3] => mine_sht : carftj ### 漢字漢字貔貅 [4] => tv: tee # # HI [5] => tvw: 9 #haha [6] => #aa [7] => 9abaa: ahah [8] => #heuens ) [1] => Array ( [0] => [1] => [2] => [3] => mine_sht [4] => tv [5] => tvw [6] => [7] => 9abaa [8] => ) [2] => Array ( [0] => [1] => [2] => [3] => ### 漢字漢字貔貅 [4] => # # HI [5] => #haha [6] => [7] => [8] => ) [3] => Array ( [0] => #shit [1] => ## #shit2 [2] => #sshit3 [3] => [4] => [5] => [6] => #aa [7] => [8] => #heuens ) )

preferences:
70.87 ms | 410 KiB | 5 Q