Code highlighten

  • Hi,


    Zoals sommige wellicht weten ben ik bezig met het opbouwen van een nieuwe community, en programmeer ik er de laatste dagen daarom flink op los.


    Vandaag ben ik echter tegen een probleem opgelopen waar ik nog geen oplossing voor heb gevonden. Wellicht zie ik de oplossing gewoon niet (ik zit al zó lang achter die computer.. ;)), dus zouden jullie mij kunnen helpen?


    Ik heb inmiddels alle BBCodes en smiley's ingebouwd, maar ik heb nog wat problemen met de [ code ] tag. Zo eentje dus:

    PHP
    <?php
    echo "Hallo wereld";
    ?>


    Nu probeer ik al geruime tijd daar een fijne code highlighter voor te vinden. Ik heb inmiddels een favoriet: GeSHi, maar het lukt me niet om deze goed te implementeren. Want wat is er nu aan de hand? Ik gebruik om de normale berichten te parsen een CodeIgniter functie: nl2br_except_pre, wat gelijk staat aan: alle regeleindes afsluiten met een < br />, behalve de regeleindes tussen de < pre > tags. CodeIgniter voert die uitzondering echter niet uit: ook binnen de pre tags, worden breaks geplaatst.


    Daarnaast hangt het enorm af van welke highlighter ik gebruik, of < als pijltje wordt getoond, of als &lt (de HTML-code). Bij GeSHi is het de HTML-code, terwijl Syntax Highlighter (JS) gewoon de ACSII-code gebruikt.


    Kortom, de vraag is: welke code highlighter kan ik het beste gebruiken, en hoe moet ik die implementeren, zodat de code ook werkelijk goed getoond wordt?


    Alvast bedankt (ook voor het lezen, is een vrij lange tekst geworden.. :p)


    - Lodewijk

  • Ik zou zelf een scriptje maken, is simpel en je weet hoe je het moet gebruiken.



    Bv:

    PHP
    <?php
    function hightlight_deze_code($input){
    	$input	=	nl2br($input);
    	$input	=	hightlight_string($input);
    	return $input;
    }


    effe snel gemaakt dus weet niet of het werkt.


    Je kunt trouwens de kleuren veranderen met [func]ini_set[/func]


    en dan steek je het in css, + implode je de lijnen erbij

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!