BBcodes

also ich habe noch eine Frage:

Notice: Undefined variable: scriptdata in D:\apachefriends\xampp\htdocs\tutorials-center\bbcodes.php on line 71

und hier der code

PHP:
<?php
function replacetags($messagetext)
{
while ((strpos($messagetext,"[ php]")>-1) && (strpos($messagetext,"[ /php]")>-1))
{
  $startpos=strpos($messagetext,"[ php]")+5;
  $endpos=strpos($messagetext,"[ /php]",$startpos);
  $text=substr($messagetext,$startpos,$endpos-$startpos);
  $codestring='[ php]'.$text.'[ /php]';
  ob_start();
//Zeile 71
  highlight_string($scriptdata);
  $textstring=ob_get_clean();
  ob_end_flush();
  $messagetext=str_replace($codestring,$textstring,$messagetext);
}
return $messagetext;
}
?>
 
jetzt bekomme ich folgende Fehlermeldung:

Notice: ob_end_flush() [ref.outcontrol]: failed to delete and flush buffer. No buffer to delete or flush. in D:\apachefriends\xampp\htdocs\tutorials-center\bbcodes.php on line 73
 
Hab grad mal mein Beispiel angepasst.
Anstatt ob_get_clean() nutze ich jetzt ob_get_contents() und anstelle von ob_end_flush() hab ich jetzt ob_end_clean().
Das sollte eigentlich ohne Fehlermeldung laufen.
 
Zuletzt bearbeitet:
wenn ich es so mache stürtzt mein Localhost ab:

PHP:
<?php
function replacetags($messagetext)
{ 
while ((strpos($messagetext,"[ php]")>-1) && (strpos($messagetext,"[ /php]")>-1))
{
  $startpos=strpos($messagetext,"[ php]")+5;
  $endpos=strpos($messagetext,"[ /php]",$startpos);
  $text=substr($messagetext,$startpos,$endpos-$startpos);
  $codestring='[ php]'.$text.'[ /php]';
  ob_start();
//Zeile 71
  highlight_string($messagetext);
  $textstring=ob_get_clean();
  ob_get_clean();
  $messagetext=str_replace($codestring,$textstring,$messagetext);
}
return $messagetext; 
}
?>
 
Das 2. ob_get_clean() sollte eher ob_end_clean() sein.
Aber ich glaub das gibt auch eine Fehlermeldung.
Sieh Dir nochmal mein Beispiel an, ich hab es etwas korrigiert, dazu auch mein (angepasstes) Post von zuvor.
 
Zurück