ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
870
870
EMPFEHLEN
-
12.07.07 12:52 #1
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ß RadhadMein 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
-
18.07.07 17:21 #2
Zeig doch mal Deinen Skriptversuch.
Wer im Steinkreis sitzt, sollte sich vor Druiden hüten.
-
20.07.07 12:22 #3
Sorry, gerade erst gesehen, dass jemand geantwortet hat.
Hier mal der Script-Aufbau:
Besser wäre wohl auch preg_replace zu benutzen, aber da bin ich nicht so gut drin.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>';
}
?>
Aus Ausgabe hätte ich es gerne wie bei phpMyAdmin (oder zumindest so ähnlich). Also es soll ca. so aussehen:
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 logischCode 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;

Gruß RadhadMein 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
-
Hallo
Für PHP gibt es die Funktion "
highlight_file($Dateiname);"
Oder "highlight_string($string);"
Ist aber wahrscheinlich nicht was du meinst.
GrussGeändert von Beezle92 (25.09.08 um 16:48 Uhr) Grund: 123
Ähnliche Themen
-
Syntax Highlighting
Von RedWing im Forum vB-TestforumAntworten: 0Letzter Beitrag: 15.03.08, 01:05 -
Syntax-Highlighting
Von DataFox im Forum PHPAntworten: 4Letzter Beitrag: 18.02.08, 22:45 -
SciTE Syntax-Highlighting
Von Radhad im Forum Linux & UnixAntworten: 0Letzter Beitrag: 13.07.07, 10:52 -
textarea und syntax highlighting
Von Dario Linsky im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 05.11.02, 23:11





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren