Jump to content

gehighlighteten string nummeriert ausgeben


lit-web
 Share

Recommended Posts

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.

code_screen.JPG


Danke für eure Hilfe Mfg litter

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.



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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.


code_screen.JPG


Danke für weitere Hilfe. Mfg litter

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...