[PHP] Syntax Hightlight

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Spo0n22, 12. Januar 2012 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 12. Januar 2012
    Syntax Hightlight

    Guten Abend/Morgen Leute,

    gibt es eine einfache und simple Möglichkeit bestimmt Programmier Sprachen wie CSS, HTML, PHP, JAVASCRIPT, mit einem Syntax Hightlighter durch BBCode farblich dazustellen?

    Ich habe mich im Web schon umgeschaut, dabei bin ich auf GeSHi gestoßen, durch den Einbau, wurde die Performance der Seite beinträchtigt.

    Gibt es eine alternative Möglichkeit zu GeSHi? Oder wie könnte man die BBCode Abfrage programmieren, damit die BBCodes mit GeSHi, schnell verarbeitet werden. Ich habe bis jetzt mit preg_match, preg_replace_callback etc versucht, dennoch wurde die Perfomance nicht schneller. Mit Fehlt der Denkanstoß, ich komme nicht weiter.

    Mir ist auch bewusst, das es die highlight_string() Funktion gibt, aber die ist nur für PHP und funktioniert nur wenn <?php ?> gesetzt ist.

    Ich habe noch eine Möglichkeit mit JavaScript, jQuery etc gefunden aber das sind im Moment keine Alternativen.
     
  2. 12. Januar 2012
    AW: Syntax Hightlight

    So wie ich das verstehe suchst du ein Script, das einen Code-Input bekommt und dann korrektes Syntax Highlighting ausführt, das ist korrekt, oder? (ob das nun über BBCode oder wie auch immer aufgerufen wird, ist im Endeffekt ja egal)

    Bin direkt via Google auf http://www.fxp0.org.ua/2006/oct/30/syntax-highlighting-javascript-and-css/ gestoßen, was einen sehr guten Eindruck macht - zwar ist die Website, auf die dort verwiesen wird, nicht mehr online, allerdings solltest du ja von der Website selbst die js- und css-Dateien laden können. Bleibt noch das Problem, dass angegeben werden muss, welche Sprache es ist (in der textarea), ich glaube aber kaum, dass du da drumherumkommst
     
  3. 12. Januar 2012
    AW: Syntax Hightlight

    ich nutze dafür highlight.js.
    wenn dir ein backlink nichts ausmacht wird das wohl die beste alternative zu geshi sein.
     
  4. 12. Januar 2012
    AW: Syntax Hightlight

    Danke euch beiden, ich habe es jetzt doch mit GeSHi gelöst,

    hier die Funtion aus dem Internet:
    PHP:
    <? php 


    function  bbcode  ( $bbcode $anzeige  true ) {

          
    $bbcode  preg_replace ( '/\[code=([^]]+)\](.*?)\[\/code\]/ise' "geshiBBCode('$2', '$1')" $bbcode );

        return 
    $bbcode ;



    function 
    geshiBBCode  ( $code $sprache  'php' ) {

        
    $geshi  = new  GeSHi ( trim ( $code ),  $sprache );
        
    $geshi -> enable_line_numbers ( GESHI_NORMAL_LINE_NUMBERS );
        
    $geshi -> set_header_type ( GESHI_HEADER_PRE );
        
    $geshi -> enable_keyword_links ( true );
       
        for (
    $extra  1 $extra  5000 $extra  ++) {
          
    $geshi -> highlight_lines_extra (array( $extra  ++));
          
    $geshi -> set_highlight_lines_extra_style ( 'background-color: #EDEDED' );
        }

        return 
    '<div id="content_code">' . stripslashes ( $geshi -> parse_code ()). '</div>' ;

    }


    ?>
    Damit hat es wunderbar geklappt, hatte anscheinend falsch angesetzt mit GeSHi. Alternativ wollte ich auch einen JavaScript hightliter verwende von:

    http://www.webresourcesdepot.com/11-syntax-highlighters-to-beautify-code-presentation/
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.