Okay, I see. Its not just that there is a newline (initially I could get it to work, but when I translated it so I could view it I saw a problem). The end of the &rt; indicates a semi-colon at the end of the line, so PCRE *thinks* its all done resulting in only half of the data.
I'll get back to you on this one then, it won't be as simple as I thought.
header('HTTP/1.1 420 Enhance Your Calm');