gehighlighteten string nummeriert ausgeben

Begonnen von lit-web, 20. Oktober 2009, 14:06:54

Vorheriges Thema - Nächstes Thema

lit-web

Hallo Leute,
nun habe auch ich nach einiger Zeit mal wieder eine Frage wo ich nun nach etlichen Versuchen nicht zum Ergebniss komme.
Ich gebe gehighlighteten Code aus, ihne den Versuch der Zeilennummerierung klappt das auch ohne Problem, nur wenn ich die Zeilen Nummeriert asugeben will klappt das nicht.
Es werden zwar die Zeilen nummeriert ausgegeben, aber mein highlighting funzt nicht mehr.
Hier mal mein Code.
 


\");
$text = ob_get_contents();
ob_end_clean();
//echo $anz_zeilen.\'\';
$div=\'\';
$div.=\'\';
$div.= \'PHP - CODE\';
$div.=\'\';
$div.=\'\';
if($anz_zeilen > 25){
   $div.=\'\';
   $rows = 1;
   foreach($php_code as $text){
      $div.= $rows.\':\'.$text;
      $rows++;
   }
   $div.=\'\';
}
else {
   $div.=\'\';
   $rows = 1;
   foreach($php_code as $text){
      $div.= $rows.\':\'.$text;
      $rows++;
   }
   $div.=\'\';
}
return $div;
}
}
//allgemeine bb-code parser funktion
if(!function_exists(\'CodeParser\'))
{
    function CodeParser($text)
   {
           //PHP Code Parser
           $text = preg_replace_callback(\"/\\[php](.*?)\\[\\/PHP\\]/si\", \'php_string\', $text);
           return $text;
   }
}
?>

 
 
Könnt ihr mir da weiter helfen was da schief läuft? Hier noch ein Bild wie es aussieht das ihr es euch auch bildlich vorstellen könnt was schief läuft.
Wie ihr hier sehen könnt wird der Code nicht mehr gehighlightet.
http://www.lit-web.de/grafiken/code_screen.JPG\" alt=\"code_screen.JPG\" />
Danke für eure Hilfe Mfg litter

Taugenichtse die was haben,haben was gegen Habenichtse die was taugen!!!!


Powie

Schau dir einfach mal php_highlight() in der functions.inc.php vom pSys an. Hat damals mahe gemacht, ist einfach als zweispaltige Tabelle gelöst.
Dein Code kann meiner Meinung nach nicht funktionieren (kann mich auch irren...), da du mit den dazwischengesetzten Zeilennummern den eigentlichen Code zerstörst.

lit-web


Original von Powie Schau dir einfach mal php_highlight() in der functions.inc.php vom pSys an. Hat damals mahe gemacht, ist einfach als zweispaltige Tabelle gelöst.
Dein Code kann meiner Meinung nach nicht funktionieren (kann mich auch irren...), da du mit den dazwischengesetzten Zeilennummern den eigentlichen Code zerstörst.
[/quote]
Kannst du mir die Datei mal geben oder hier mal den besagten codeteil posten, weil habe kein psys?
Ich dachte mir schon das ich da irgendwas zerstört habe dann in dem Code.

Taugenichtse die was haben,haben was gegen Habenichtse die was taugen!!!!


Powie

Benötigst du nicht, denn du solltest einfach dein Problem verstehen. Dabei hilft dir fertiger Code nicht wirklich.
Dein Highloghter funktioniert aus zwei Gründen nicht:
1. weil du die Code Zeilen schonmal in  setzt, ohne Leerzeichen.
Eigentlich müsste das so aussehen:
2. Du versuchst jede Zeile einzeln zu highlighten, das macht absolut keinen Sinn da viele viele Sachen im Script doch über mehrere Zeilen gehen, siehe Funktionen, if Blöcke, Schleifen usw.

mahe

Das geht nicht weil der ganze gehighlightete Code in $text geworfen wird, aber später dann in der foreach() $text ja wieder überschrieben wird /uploads/emoticons/icon_e_biggrin.gif.1a84f5257b36e14b36d04985314f877f.gif\" alt=\":-D\" />
Ich hab das damals nicht umsonst in eine Tabelle geworfen => Copy&Paste /uploads/emoticons/icon_e_wink.gif.3167d127940f44558fbf1ccd9b6d60a9.gif\" alt=\";-)\" />

http://blog.mahe.at\" rel=\"external nofollow\">http://blog.mahe.at/wp-content/uploads/2007/06/88x31_1.jpg\" alt=\"88x31_1.jpg\">


Ja, diese Signatur dient zur Werbung!


Und dass ich meine Posts wiederfinde ...


lit-web

Stimmt schon das ist mir im Nachhinein auch klar geworden.
Ich habe das nun anders gemacht so geht das fast nur ein verstehe ich da nicht, die erste Zeile die mit 1 gekennzeichnet wurde bleibt leer und am Ende sieht das alles so verschoben aus, also der Text der gehighlightet ist erscheint dann nach und nach von den Zeilen verschoben.
Hier mal der Code.
 


\';
$div=\'\';
$div.=\'\';
$div.= \'PHP - CODE - \'.$anz_zeilen.\' Codezeilen\';
$div.=\'\';
$div.=\'\';
if($anz_zeilen > 25){
   $div.=\'\';
      $div.=\'\';
         $zeile =0;
         for($zeile = 1; $zeile \';
      $div.=\'\';
         $div.=$text;
      $div.=\'\';
      $div.=\'\';
      $div.=\'\';
   $div.=\'\';
}
else {
   $div.=\'\';
      $div.=\'\';
         $zeile =0;
         for($zeile = 1; $zeile \';
      $div.=\'\';
         $div.=$text;
      $div.=\'\';
      $div.=\'\';
      $div.=\'\';
   $div.=\'\';
}
return $div;
}
}
?>

 
 
Wie gesagt funktioniert soweit, falls die CSS noche benötigt wird poste ich die gern nach.
Hier noch mal ein Bild wie das jetzt ausschaut.
http://www.lit-web.de/grafiken/code_screen.JPG\" alt=\"code_screen.JPG\" />
Danke für weitere Hilfe. Mfg litter

Taugenichtse die was haben,haben was gegen Habenichtse die was taugen!!!!


all your base are belong to us / Discord