Avatar billede znopie Nybegynder
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);
Avatar billede zurekk Nybegynder
14. juni 2007 - 16:39 #1
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.
Avatar billede znopie Nybegynder
14. juni 2007 - 16:42 #2
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();
Avatar billede zurekk Nybegynder
14. juni 2007 - 16:56 #3
$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
Avatar billede znopie Nybegynder
14. juni 2007 - 17:01 #4
Så skriver den bare det her i min tabel:

' . highlight_string(<?php echo test ?>) . '
Avatar billede zurekk Nybegynder
14. juni 2007 - 17:07 #5
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.
Avatar billede znopie Nybegynder
14. juni 2007 - 17:20 #6
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("<", "&lt;", $tekst);
    $tekst = str_replace(">", "&gt;", $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]");
Avatar billede zurekk Nybegynder
14. juni 2007 - 17:30 #7
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]
Avatar billede znopie Nybegynder
14. juni 2007 - 17:37 #8
jamen så får jeg det ikke i min tekstbox :/
Avatar billede zurekk Nybegynder
14. juni 2007 - 17:52 #9
Du må bare håbe der kommer en preg_nørd forbi, fordi jeg aner virkelig intet på det område.
Avatar billede znopie Nybegynder
15. juni 2007 - 08:41 #10
Prøver at lave den igen, og håber på et svar der kan hjælpe
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester