Malte: Zuviele Zeilenumbrüche...

Beitrag lesen

Hi,

ich bin ja dabei ein Forum zu programmieren und habe jetzt einen Fehler festgestellt.

Wenn ich einen Code postet in meinem Forum mit dem Befehle [ php] [ /php] werden immer zuviele <br> eingefügt und ich weiß nicht warum:

<?php  
function bbcode ($bbcode)  
{  
  
$bbcode=preg_replace("/\[b\](.*?)\[\/b\]/si", "<b>\\1</b>", $bbcode);  
$bbcode=preg_replace("/\[i\](.*?)\[\/i\]/si", "<i>\\1</i>", $bbcode);  
$bbcode=preg_replace("/\[s\](.*?)\[\/s\]/si", "<s>\\1</s>", $bbcode);  
$bbcode=preg_replace("/\[u\](.*?)\[\/u\]/si", "<u>\\1</u>", $bbcode);  
$bbcode=preg_replace("/\[center\](.*?)\[\/center\]/si", "<center>\\1</center>", $bbcode);  
$bbcode=preg_replace("/\[url\](.*?)\[\/url\]/si", "<a href=\\1>\\1</a>", $bbcode);  
$bbcode=preg_replace("/\[code\](.*?)\[\/code\]/si", "<center><b>Code:</b><br><br><div style=\"text-align:left;border:1px solid black;font-size:11px;color:green;background-color:#ececec;width:500px;padding:5px;\"><i>\\1</i></div></center><br>", $bbcode);  
$bbcode=preg_replace("/\[img\](.*?)\[\/img\]/si", "<img src=\\1 border=\"0\">", $bbcode);  
  
$bbcode = nl2br ($bbcode);  
  
return $bbcode;  
}  
  
function php ($php)  
{  
  
  while((strpos($php,'[php]')!=false) && (strpos($php,'[/php]')!= false))  
  {  
    $startpos=strpos($php,'[php]')+5;  
    $endpos=strpos($php,'[/php]',$startpos);  
    $phpcode=substr($php,$startpos,$endpos-$startpos);  
    $codestring='[php]'.$phpcode.'[/php]';  
    $formattedcode=highlight_string($phpcode,true);  
    $php=str_replace($codestring,$formattedcode,$php);  
  }  
  
  return $php;  
}  
?>  

Und hier meine Ausgabe funktion:

  
<?php  
include_once("function/function/bbcodes.php");  
$beitrag[$i] = php ( $beitrag[$i] );  
$beitrag[$i] = bbcode ( $beitrag[$i] );  
  
include_once("function/function/smilies.php");  
$beitrag[$i] = smilies ( $beitrag[$i] );  
  
<td bgcolor='.$bgcolor.' style="vertical-align:top;border: 1px solid black;padding-left:5px;font-weight:normal" >  
'.stripslashes($beitrag[$i]).'  
</td>  
?>  

Könnt ihr mir helfen den Fehler zu finden und ihn unschädlich machen?
Danke