Edit: Ehr, ask the wrong question .. "bq." was significant.
echo preg_replace('/^bq\.(.+?)\n\n/s', '<blockquote>$1</blockquote>', $str, 1);
Sometimes the data input through webforms contains \ r \ n instead of just \ n what would it do
echo preg_replace('/^bq\.(.+?)\r\n\r\n/s', '<blockquote>$1</blockquote>', $str, 1);
The question mark adds closing locks after detecting the first double return ("not greedy" in my opinion, it is called), so any other double returns remain valid (if this is not what you want, print it, obviously).
source
share