3v4l.org

run code in 300+ PHP versions simultaneously
<?php $filename = '1234_56_78 A_FAIRLY_SHORT_TITLE_D.pdf'; $m = preg_split('~ |_~', pathinfo($filename, PATHINFO_FILENAME)); $revision = array_pop($m); var_export([ 'project_no' => $m[0], 'series_no' => $m[1], 'sheet_no' => $m[2], 'title' => implode(' ', array_slice($m, 3)), 'revision' => $revision, ]);
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
array ( 'project_no' => '1234', 'series_no' => '56', 'sheet_no' => '78', 'title' => 'A FAIRLY SHORT TITLE', 'revision' => 'D', )

preferences:
151.91 ms | 407 KiB | 5 Q