Problem mit Textarea
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
-
Hi,
ich habe bei meinem Forum ein kleines Problem. Wenn der User einen PHP Code postet, wird dieser Sp?ter wieder in einem Textarea ausgeben, dies kann man hier sehen:
http://newwarrior.milten.lima-city.de/forum/posts.php?forum_id=1&thread_id=1&site=1
Was man aber leider auch sehen kann ist, das der Code nicht gehighlightet wird sondern, das dort einfach HTML Code drinne steht, leider wei? ich nicht warum.
Hier meine BBCODE Funktion:
<?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) { $php=preg_replace("/\[php\](.*?)\[\/php\]/si", "<center><textarea style=backgroundcolor:#c0c0c0; rows=10 cols=85>[php]\\1[/php]</textarea></center>", $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=str_replace("<br />", "",highlight_string($phpcode,true)); $php=str_replace($codestring,$formattedcode,$php); } return $php; } ?>
Beitrag ge?ndert am 25.12.2005 06:34 von newwarrior -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Benutz diesen Code:
$muster = "/\[code\](.*)\[\/code\]/Usi"; $neu = preg_replace("/\[code\](.*)\[\/code\]/Usie", 'highlight_string("$1", TRUE)', $text);
Beitrag ge?ndert am 25.12.2005 10:02 von compactdisc -
ok habe es jetzt so gemacht, wie bekomme ich die angezeigten <br /> noch weg?
http://newwarrior.milten.lima-city.de/forum/posts.php?forum_id=1&thread_id=1 -
hast du sie weggebracht oder sehe ich deine <br /> einfach nicht? ich sehe zwei <br> hinter dem letzten if, aber die sehen beabsichtigt aus.
??? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage