Собственно вопрос, хочется удалить все переводы строк (\n), кроме тех, что располагаются внутри тегов PRE или CODE - так как в ином случае они потеряют смысл своего существования.
Пытался через использования позитивного и негативного поиска, но ничего не вышло, для справки, текст в UTF-8
| Код | $s = preg_replace("/(?!<PRE>[\s\S]+<\/PRE>)(.*\n)(?<=!<PRE>[\s\S]+<\/PRE>)/", NULL, $s);
|
Никак не получается написать правильную регулярку, заранее, буду вам признателен.
Надо заметить, что теги PRE и CODE могут располагаться где угодно, как в начале текста, так и в его конце, либо вовсе, в середине. |