14. juni 2007 - 16:25
Der er
9 kommentarer og 1 løsning
hjælp til min BBcode
Hej alle. Jeg leger lidt i at lave en BBcode, men er stødt på et problem da jeg gerne ville lave en [code] og [/code] hvor den kan vise php farverne i. Her er min kode. Den virker fint, men når jeg prøver at få highlight_string($1) ind i den, så gider den intet. $CodeLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr><td class="quotecodeheader">Code:</td></tr> <tr><td class="codebody">$1</td></tr> </table>'; $tekst = preg_replace("/\[code\](.+?)\[\/code\]/is", "$CodeLayout", $tekst);
Annonceindlæg fra Lemonet
Og hvor er det du ligger highlight_string( $1 ) ind i den? Og hvad indeholder $1? Jeg kan ikke rigtig se hvordan dit script virker.
Jeg ville nok ligge min highlight_string($1) her: $CodeLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr><td class="quotecodeheader">Code:</td></tr> <tr><td class="codebody">highlight_string($1);</td></tr> </table>'; $tekst = preg_replace("/\[code\](.+?)\[\/code\]/is", "$CodeLayout", $tekst); men der kommer der en fejl :/ Mit script fingere på den måde at når jeg skriver [code]<?php echo "hej"; ?>[/code], så laver den en tabel, hvor den skriver selve koden. Jeg vil så gerne have den til at vise det med farve - via. highlight_string();
$CodeLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr><td class="quotecodeheader">Code:</td></tr> <tr><td class="codebody">' . highlight_string($1) . '</td></tr> </table>'; prøv med den
Så skriver den bare det her i min tabel: ' . highlight_string(<?php echo test ?>) . '
Well, præcis den samme kode virker fint hos mig.. Så er det nok noget længere nede, prøv evt. at fjern "" fra $codelayout, i din preg_replace.
Det hjælper heller ikke :/ Jeg ved virkelig ikke hvad fejlen kan være. Prøver lige at ligge min kode op igen. (har lavet lidt om) function site($tekst) { $tekst = str_replace("<", "<", $tekst); $tekst = str_replace(">", ">", $tekst); $code = "<table cellpadding=\"0\" cellspacing=\"0\" width=\"90%\" align=\"center\" class=\"code\"> <tr><td class=\"codeheader\">Code:</td></tr> <tr><td class=\"codebody\">'.highlight_string($1).'</td></tr> </table>"; $tekst = preg_replace("/\[code\](.+?)\[\/code\]/", $code, $tekst); echo "tekst"; } og her er teksten den læser fra site("[code]<?php echo test ?>[/code]");
function site($tekst) { $code = "<table cellpadding=\"0\" cellspacing=\"0\" width=\"90%\" align=\"center\" class=\"code\"> <tr><td class=\"codeheader\">Code:</td></tr> <tr><td class=\"codebody\">" . highlight_string( $tekst ) . "</td></tr> </table>"; $tekst = preg_replace("/\[code\](.+?)\[\/code\]/", $code, $tekst); } site("[code]<?php echo test ?>[/code]"); Den fjerner dog ikke [code][/code]
jamen så får jeg det ikke i min tekstbox :/
Du må bare håbe der kommer en preg_nørd forbi, fordi jeg aner virkelig intet på det område.
15. juni 2007 - 08:41
#10
Prøver at lave den igen, og håber på et svar der kan hjælpe
Vi tilbyder markedets bedste kurser inden for webudvikling