Hey hey nachdem ich ja schon einmal darauf angesprochen hatte habe ich nun einen relativ guten code gebastelt der den syntax von php nach den in der phpini eingestellten farben higlightet.
<?php
//Code Higlightning(nur php)
$php_start = "<br><b><u>Code:</u></b>\n".
"<div style=\" height:150px; border:solid 1px black; background-color:#CFCFCF; overflow:auto;\">\n";
$php_end = "</div>\n";
$php = array();
// PHP Code zwischenspeichern, damit er nicht durch andere Funktionen (z.B. nl2br) verfälscht wird
preg_match_all("/\[code\](.*)\[\/code\]/siU", $text, $php);
foreach($php[0] as $key => $value){
// Im Text durch eine Variable ersetzen, um diese dann später wiederum durch den Code zu ersetzen
// bitte achtet darauf, dass ihr bei [ php] und [ /php] das Leerzeichen entfernen müsst!
$text=preg_replace('#'.preg_quote($value, '#').'#','[code]'.$key.'
Alles anzeigen
',$text,1);
// Code highlighten
$php[1][$key] = highlight_string($php[1][$key], TRUE);
$php[1][$key] = $php_start.$php[1][$key].$php_end;
}
//PHP Code wieder einfügen
foreach($php[1] as $key => $value){
$text = preg_replace("/\[code\]".$key."\[\/code\]/siU", $value, $text);
}
?>
[/code]
Eventuell kann ja jemand von euch was damit anfangen, denn bei mir funktioniert es einwandfrei.
Hier mal ein beispiel für die ausgabe:
<div style=" height:150px; border:solid 1px black; background-color:#CFCFCF; overflow:auto;"><br />
<code><span style="color: #000000"><br />
<span style="color: #0000BB"><?php<br />
<br />$text </span><span style="color: #007700">= </span><span style="color: #DD0000">'hallo so ist dann die ausgabe ;) '</span><span style="color: #007700">;<br />
<br /><br />
<br />echo </span><span style="color: #0000BB">$text</span><span style="color: #007700">;<br />
<br /></span><span style="color: #0000BB">?><br />
<br /></span><br />
</span><br />
</code></div>
Alles anzeigen
OK OK OK.... es gibt einen kleinen abstrich in diesem code, und zwar das die funktion nl2br(); die formatierung des quelltextes beeinflusst, aber nur wenn man die funktion am ende des codes ausführt, aber ich finde das es doch schon nicht übel gelöst ist was meint ihr ?
Wenn denn jemand eine idee hat wie ich verhindere das die funktion nl2br die formatierung zerstört wäre ich echt neugierig wie ihr das lösen würdet.
MFG und viel spaß mit dem Code.
R4Zz0R