<?php $fileContents = <<<TEXT #################### Section One #################### Data A Data B #################### Section Two #################### Data C Data D Data E #################### Section Three #################### Data F TEXT; preg_match_all( '~(?: ^\#{3,}\R \h*(\S+(?:\h\S+)*)\h*\R \#{3,} | \G(?!\A) ) \R (?!\#{3,})(.+) ~mx', $fileContents, $out, PREG_SET_ORDER ); foreach ($out as $set) { $heading = $set[1] ?: $heading; $result[$heading][] = $set[2]; } var_export($result ?? 'No qualifying data');
You have javascript disabled. You will not be able to edit any code.