Syntax-Highlight umschreiben oder einfacher?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abstand
beitrag
count
datei
dateiname
highlight
inhalt
interne funktion
lngen
mache
manual
page
syntax
tutorial
versuchen
-
http://www.gfx-world.net/index.php?page=tutorials/view_tut&setpos=Tutorials&id=359&rset=1
ich m?chte das nicht nur in einer datei schreiben k?nnen, da bei mir alles in eine datenbank gespeichert wird was f?r mich einfacher ist.
Ich bekomme es irgendwie net hin das so zu machen, das das auch mit meinem CMS l?uft. Die highlight.class.php datei kann ja so bleiben, nur muss ich es noch irgendwie machen, das anstatt
$php_code = '[php]$var = "wert"; if(isset($var)) echo $var; else echo "Nicht gesetzt.";[/php]'; include("highlight.class.php"); $text = new parse(); echo $text->bbcode($php_code);
es so ?hnlich aussieht wie hier bei mir:
$text = preg_replace("/\[b\](.*?)\[\/b\]/si", "<b>\\1</b>", $text);
wie kann ich das machen? oder kennt einer n einfacheren weg Syntax-Highlighting zu machen?
Danke schon im Vorraus
Zonk -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Die wohl einfachste L?sungsm?glichkeit w?re das Zur?ckgreifen auf die PHP-interne-Funktion highlight_string() bzw. highlight_file()
Links:
http://de.php.net/manual/de/function.highlight-file.php
http://de.php.net/manual/de/function.highlight-string.php -
//highlight.class.php class PHPhighlight { function parse($text) { $text = str_replace("]\n", "]", $text); $match = array('#\[php\](.*?)\[\/php\]#sie'); $replace = array("'<div class=\"php\"><h6>PHP:</h6>'.highlight_string(stripslashes('$1'), true).'</div>'"); return preg_replace($match, $replace, $text); } }
das d?rfte gehen
wobei ich mir das orginal von gfx-world nat angeschaut habe
Beitrag ge?ndert am 5.12.2005 20:58 von kirschbluete -
<?php
function highlight($Dateiname)
{
ob_start();
show_source($Dateiname);
$Inhalt = ob_get_contents();
ob_end_clean();
$Inhalt = str_replace("<code>", "", $Inhalt);
$Inhalt = str_replace("</code>", "", $Inhalt);
$Inhalt = str_replace("\n", "", $Inhalt);
$Inhalt = explode('<br />', $Inhalt);
$Laenge = strlen(count($Inhalt));
for($i=0; $i<count($Inhalt); $i++)
{
$Abstand = ($Laenge-strlen($i+1));
$Inhalt[$i] = '<span style="color: #999">'.str_repeat(' ', $Abstand).($i+1).' </span>'.$Inhalt[$i]."<br>";
}
$Inhalt = implode('', $Inhalt);
echo"<code>\n".$Inhalt."\n</code>";
}
highlight("news.php");
?>
das kann ne datei highlighten. versuche auch schon das mit dem [ code ] [ / code ] zu mache, habe es aber noch nicht hinbekommen. evtl hilft ja ein gn?diger "limaianer", bei dem auch ich mich dann sehr bedanken m?sse -
$output = preg_replace('?\[code\](.*)\[\/code\]?eisU',highlight_string($1,1),$input);
So sollte es funktionieren, wenn nicht, schreib mich per pn an dass ich zuhause nochmal nachsehe... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage