Неправильно добавляются переводы строк

Я хочу, чтобы после [list] не ставился \n, а начинался [*] и после [/list] не ставился \n, ну или <br>, а то получается, что лишние строчки пропускаются.

Но мне надо например, что если я пишу без bbcode, то всё нормально отображалось, то есть, как написал, так и выглядит.

Как дела?
Нормально.

И в общем у меня есть такая функция:

function parse_content ( $s ) {
    $res = str_replace ( "<", "&lt;", $s );
    $res = str_replace ( ">", "&gt;", $res );
    $res = str_replace("\\r", "&#92;&#114;", $res);
    $res = str_replace("\\t", "&#92;&#116;", $res);
    $res = str_replace("'", "&#39;", $res );
    $res = preg_replace( "/\[(code)=([a-z+]*)\][\n]?/i", "<pre><code class=\"$2\" id=\"code\">", $    res );
    $res = str_replace("\\n", "&#92;&#110;", $res);
    $res = str_replace ( "[/code]", "</code></pre>", $res );
    $res = preg_replace ( "/\[([a-z]|[\*]{1})*\][\n]/i", "[$1]", $res );
    $res = preg_replace ( "/\[\/([a-z]|[\*]{1})*\][\n]/i", "[/$1]", $res );
    $res = str_replace ( "\n", "<br>", $res );
    $bbcode = new ChrisKonnertz\BBCode\BBCode();
    $rendered = $bbcode->render ( $res );
    return $rendered;
}

Я в textarea пишу такой текст.

Привет. Как дела?
Нормально.
[list]
[*] helo
[*] priv
[/list]
это код.
[code=c++]
#include <stdio.h>
[/code]
end

Ответы (0 шт):