Заменить переводы строк тегами 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-механизма разбора является излишним).