>>286
$y = split("\n|\r|\r\n", $x); //配列に展開
$y = array_map('rtrim', $y); //行末ホワイトスペース削除
$y = array_map(create_function('$z', 'if (preg_match("/^(>|>)/", $z)) { return "<q>" . htmlspecialchars($z) . "</q>"; } return htmlspecialchars($z);'), $y); //説明省略
$x = implode('<br />', $y); //文字列に戻す
$x = str_replace('</q><br /><q>', '<br />', $x); //必要に応じて引用箇所をつなげる