- array_combine: documentation ( source)
- print_r: documentation ( source)
- preg_match_all: documentation ( source)
<?php
$text = "11a. A numbered agenda item\nUnnumbered agenda item\n12. Another numbered agenda item\nAnother UNnumbered agenda item\n13. A numbered agenda item";
if (preg_match_all('/^(\d+[a-z]?\.)\s*(.*(?:\R(?!\d+[a-z]?\.).*)*)/m', $text, $matches)) {
print_r(array_combine($matches[1], $matches[2]));
}