$re = '/^Ответ: ((.|\n)+?)\n([0-9\n])/m';
$str = 'Тема 1: Стихийные бедствия.
Автор: Булат Фаттахов
10. Таким женским именем звали ураган, сильно повредивший Новый Орлеан.
Ответ: Катрина.
20. "Дождь лил четыре года, одиннадцать месяцев и два дня" именно там.
Ответ: в Макондо.
30. В 1883 году было извержение вулкана именно на этом острове.
Ответ: Кракатау (Остров назывался так же как и вулкан).
40. Армянские города Гюмри и Ванадзор, сильно пострадавшие во время землетрясения 1988 года, в советское время носили такие названия.
Ответ: Ленинакан и Кировокан.
50. Крупнейшее за всю историю человечества это стихийное бедствие произошло в 1875 году в США, а не в Египте двумя тысячами годами ранее.
Ответ: Нашествие саранчи.
Тема 2: Города России.
Автор: Булат Фаттахов
10. Это крупнейший город России после Москвы.
Ответ: Санкт-Петербург.
20. Москва крупнейший город России, а Тольятти тоже крупнейший город в России среди таких.
Ответ: Не являющийся столицей региона.
30. Это - крупнейший город самого большого острова России.
Ответ: Южно-Сахалинск.
40. Именно в этом городе происходит действие сериала "Счастливы вместе".
Ответ: Екатеринбург.
50. А именно этот город является самым западным городом России.
Ответ: Балтийск.';
$subst = "Ответ: <details>\1</details>\n$3";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php