$re = '/(?m)^([A-D]:.*?)correct$((?:\n.*)*?\nx{3,})/m';
$str = '1: How old am I?
A: 8 days
B: 75
C: 100
D: 99correct
xxxxxxxxxxxx
2: What is your favorite color?
A: blue
B: greencorrect
C: red
D: blue
xxxxxxxxxxxx';
$subst = "\1\2 \1";
$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