tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
870
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Radhad Radhad ist offline Mitglied Diamant
    Registriert seit
    Mar 2003
    Ort
    Wuppertal (NRW)
    Beiträge
    1.917
    Blog-Einträge
    35
    Hallo zusammen,

    ich suche eine Klasse oder Funktionen, wie ich Syntax Highlighting mit PHP darstellen kann, für die Sprachen PHP, HTML, MySQL, Perl, ... mehr fällt mir grade nicht ein Aus dem Thread http://www.tutorials.de/forum/php/27...-anzeigen.html bin ich auf GeSHi gestoßen, eine Highlighter-Klasse für div. Sprachen, jedoch fehlt mir bei MySQL die Funktion für automatische Zeilenümbrüche bei bestimmten Keywords

    Kennt jemand Alternativen? Mein eigener Script-Versuch scheitert bei der Erkennung einer Unterabfrage :/



    Gruß Radhad
     
    Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x

  2. #2
    Avatar von Wadlschrat
    Wadlschrat Wadlschrat ist offline Mitglied Silber
    Registriert seit
    Feb 2007
    Beiträge
    65
    Zeig doch mal Deinen Skriptversuch.
     
    Wer im Steinkreis sitzt, sollte sich vor Druiden hüten.

  3. #3
    Radhad Radhad ist offline Mitglied Diamant
    Registriert seit
    Mar 2003
    Ort
    Wuppertal (NRW)
    Beiträge
    1.917
    Blog-Einträge
    35
    Sorry, gerade erst gesehen, dass jemand geantwortet hat.

    Hier mal der Script-Aufbau:
    PHP-Code:
    <style type="text/css">
    <!--
    div.mysql
    {
      color: #000000;
      font-size: 11px;
      font-family: sans-serif;
      width: 100%;
      background-color: #CCCCCC;
      border: 1px solid #333333;
      padding: 2px;
    }

    div.mysql span.keyword
    {
      color: #990099;
      font-weight: bold;
      font-family: sans-serif;
      font-size: 12px;
    }
    div.mysql span.number
    {
      color: #009999;
    }
    //-->
    </style>

    <?php

    echo highlight_query('SELECT * FROM `table` WHERE name = (SELECT name FROM antothertable WHERE name LIKE "%r%") LIMIT 1;');


      function 
    highlight_query($query)
      {
        
    $query strip_tags($query);
        
    $query str_replace(";"""$query);
        
    $keywords = array('SELECT''INSERT''UPDATE''DELETE''FROM''WHERE''LIMIT''JOIN''LIKE''ORDER BY''GROUP BY''COUNT''DISTINCT');
        
    $specialchars = array ('('')''=');
        
    $i 0;

        
    $q explode(' '$query);
      
        foreach(
    $q as $key => $word)
        {
          if(
    in_array(strtoupper($word), $keywords))
          {
            if(
    $i == 0)
            {
              
    $q[$key] = '<span class="keyword">'$word .'</span>';
              
    $i++;
            }
            else
            {
              
    $q[$key] = '<br><span class="keyword">'$word .'</span>';
            }
          }
          if(
    in_array($word$specialchars))
          {
            
    $q[$key] = '<span class="keyword">'$word .'</span>';
          }
          if(
    is_numeric($word))
          {
            
    $q[$key] = '<span class="number">'$word .'</span>';
          }
        }

        return 
    '<div class="mysql">'implode(' '$q) .'<span class="keyword">;</span></div>';
      }


    ?>
    Besser wäre wohl auch preg_replace zu benutzen, aber da bin ich nicht so gut drin.


    Aus Ausgabe hätte ich es gerne wie bei phpMyAdmin (oder zumindest so ähnlich). Also es soll ca. so aussehen:
    Code sql:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    SELECT *
    FROM `table`
    WHERE name = 
    (
        SELECT name
        FROM antothertable
        WHERE name LIKE "%r%"
    )
    LIMIT 1;
    Also Unterabfragen sollen eingerückt werden (wie bei phpMyAdmin). Farben sollen dann natürlich frei definiert werden können über CSS, ist denk ich mal logisch


    Gruß Radhad
     
    Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x

  4. #4
    Beezle92 Beezle92 ist offline Mitglied
    Registriert seit
    Jun 2007
    Beiträge
    12
    Hallo

    Für PHP gibt es die Funktion "
    highlight_file($Dateiname);"
    Oder "highlight_string($string);"


    Ist aber wahrscheinlich nicht was du meinst.

    Gruss
    Geändert von Beezle92 (25.09.08 um 16:48 Uhr) Grund: 123
     

Ähnliche Themen

  1. Syntax Highlighting
    Von RedWing im Forum vB-Testforum
    Antworten: 0
    Letzter Beitrag: 15.03.08, 01:05
  2. Syntax-Highlighting
    Von DataFox im Forum PHP
    Antworten: 4
    Letzter Beitrag: 18.02.08, 22:45
  3. SciTE Syntax-Highlighting
    Von Radhad im Forum Linux & Unix
    Antworten: 0
    Letzter Beitrag: 13.07.07, 10:52
  4. textarea und syntax highlighting
    Von Dario Linsky im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 05.11.02, 23:11