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