3v4l.org

run code in 300+ PHP versions simultaneously
<?php $re = '/^#%META((?>\R(?!#%(?:META|ENDS)$).*)+)\R#%ENDS$/m'; $str = '#%META # date: 2022-08-27 # generated-by: Me # id: 1 #%ENDS #%BODY .... #%ENDS #%META # date: 2022-08-27 # generated-by: Another Me # id: 2 #%ENDS #%BODY .... #%ENDS'; if (preg_match_all($re, $str, $matches)) { $result = array_map(function ($s) { return preg_replace("/^#\h*/m", "", trim($s)); }, $matches[1]); var_export($result); }

preferences:
39.73 ms | 408 KiB | 5 Q