Заменить переводы строк тегами BR, но только внутри тегов PRE

В наличии PHP5, что такое хорошоpreg_replace выражение для этого преобразования:

заменить символы новой строки<br>, но только внутри

 блоки

(Не стесняйтесь делать упрощающие предположения и игнорируйте угловые случаи. Например, мы можем предположить, что теги будут одной строкой, а не патологическими вещами вроде)

Введите текст:

<pre class="some class">1
2
3
</pre>
<pre>line 1
line 2
line 3
</pre>

Выход:

<pre>1<br>2<br>3<br></pre>
<pre>line 1<br>line 2<br>line 3<br></pre>

(Мотивирующий контекст: попытка закрыть ошибку 20760 в расширении wikimedia SyntaxHighlight_GeSHI и найти мои навыки работы с PHP (в основном я использую Python)нюхать)

Я открыт для других решений, кроме регулярных выражений, но предпочтение отдается небольшим (например, создание html-механизма разбора является излишним).

Ответы на вопрос(2)

Ваш ответ на вопрос