Avatar billede madsass Nybegynder
19. februar 2004 - 12:14 Der er 8 kommentarer og
2 løsninger

[php]Highlight[/php]

Hej Allesammen..
Jeg søger et script / replace der gør sådan at når man i mit tutorial system skriver [php]php koden her[/php]..

Så skal den php kode blive highlightet og indsat i en hvid <div> med sort border.. Hvis i forstår..

Med Venlig Hilsen
Mads Bjørck // Madsass.dk
Avatar billede madsass Nybegynder
19. februar 2004 - 12:15 #1
Den variabel som udskriver teksten / koden til en tutorial.. Det er: $msg
Avatar billede exp Juniormester
19. februar 2004 - 12:23 #2
Avatar billede madsass Nybegynder
19. februar 2004 - 12:35 #3
Jeg fatter hat af det der står.. :D.. Jeg har set på det..
Jeg vil helst have en færdiglavet kode jeg lige kan indsætte så det i $msg under [php][/php] bliver highlightet..
Avatar billede exp Juniormester
19. februar 2004 - 12:42 #4
highlight_string($msg);

Så skal du bare finde noget, der gør, at når der står [php], replaces med highlight_string( og [/php] replaces med )
Avatar billede taskmgr Nybegynder
19. februar 2004 - 12:56 #5
function codehighlight($str){
    $list = explode("[php]",$str);
    $highstring="";
    $i=0;
    foreach($list as $value){
        $strings = explode("[/php]",$value);
        if($i==0) {
            $highstring .= nl2br(implode("", $strings));
        } else {
            $highstring .= highlight_string($strings[0], true).nl2br($strings[1]);
        }
        $i++;
    }
    $xhtml_convmap = array(
        '<font' => '<span',
        '</font>' => '</span>',
        'color="' => 'style="color:'
    );
    $highstring = strtr($highstring, $xhtml_convmap);
    $danish_chars = array(
        'Æ' => '&AElig;',
        'æ' => '&aelig;',
        'Ø' => '&Oslash;',
        'ø' => '&oslash;',
        'Å' => '&Aring;',
        'å' => '&aring;'
    );
    $highstring = strtr($highstring, $danish_chars);
    $highstring = str_replace("<code>","<div class=\"code\">",$highstring);
    $highstring = str_replace("</code>","</div>",$highstring);

    echo $highstring;
}

Den her bruger jeg på mine artikler. Den er tilpasset til mine behov, men du kan vel rette lidt i den :)

Du laver så bare en codehighlight($din_streng);
Avatar billede madsass Nybegynder
19. februar 2004 - 12:58 #6
Når jeg bruger den kode du gav mig.. Så ser teksten sådan ud selv jeg har brugt <font face="verdana" size="1"> ligesom ved alt mit andet tekst..
Se: http://www.madsass.dk/Eksperten.gif

Hvad gør jeg ved dette.??
Avatar billede taskmgr Nybegynder
19. februar 2004 - 13:11 #7
Vil du ha' en anden font eller hvad?
Avatar billede schaefner Juniormester
19. februar 2004 - 13:20 #8
<?php
function highlightSource($str) {
    $str = preg_replace("/\[php\](.+?)\[\/php\]/ise","'<div class=\"code\">'.highlight_string('\\1').'</div>'",$str);
    return $str;
}

$text = '[php]<?php echo \'hej\'; ?>[/php]';
highlightSource($text);
?>
Avatar billede taskmgr Nybegynder
26. februar 2004 - 23:27 #9
Lukketid?
Avatar billede madsass Nybegynder
10. december 2004 - 20:43 #10
Så er det vidst lukketid. Har ikke brugt siden i en evighed :)
Tak for hjælpen gutter :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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