$string = str_replace(">\\n",">",$string);
Не работает.
$text = str_replace("\\n","
",$text);
Это и пню понятно. В остальных случаях $content = \'\' . str_replace("\\n", "\\n
\\n", $content); нужно для обычных абзацев с помощью "Enter", а не
. Не надо этой замены только в том случае, когда \\n стоит после завершающей скобки >.
Код выглядит так:
$content = ( $blocksdata[\'block_content\'] != \'\' ) ? $blocksdata[\'block_content\'] : \'\';
$content_bbcode_uid = $blocksdata[\'bbcode_uid\'];
if ( !$blocksdata[\'enable_html\'] )
{
$content = preg_replace(\'#(<)([\\/]?.*?)(>)#is\', "<\\\\2>", $content);
}
if ( $blocksdata[\'enable_bbcode\'] )
{
$content = bbencode_second_pass($content, $content_bbcode_uid);
}
if ( $blocksdata[\'enable_smilies\'] )
{
$content = smilies_pass($content);
}
$content = preg_replace("/\\:(([a-z0-9]:)?)$content_bbcode_uid/si", \'\', $content);
$content = str_replace(">\\n",">",$content);
$content = \'\' . str_replace("\\n", "\\n
\\n", $content);
$content = make_clickable($content);
$template->assign_vars(array(
\'BLOCK_TITLE\' => $blocksdata[\'block_title\'],
\'BLOCK_CONTENT\' => $content
));Это кусок из моего мода к phpbb. Я просто блоки туда прикрутил как у нюк, только намного круче и продуманней.
А сейчас просто мозги пришибло. Не могу эту мелочь устранить.