$outputstring = preg_replace('/([0-9]+)\)/', "\n$1)", $inputstring);
Соответствует любому набору цифр, за которым следует литерал )
, заменяется новой строкой, за которой следуют те цифры, за которыми следует )
.
Если вы хотите, чтобы на самом деле была пустая строка между ними, как в примере с вашим примером, вы бы хотели вставить две строки (так как вам нужна новая строка для окончания строки с текстом, а затем еще одна, чтобы добавить пробел линия). Просто сделайте это \n\n
вместо \n
во втором аргументе, если это так.
Также обратите внимание, что это добавит новую строку в начале строки, если она начинается с пронумерованной точки, поэтому вы можете захотеть обрезать строку позже, если не хотите лидирующей новой строки.