Geben Sie Ihren Benutzernamen und Ihr Passwort ein, um sich an der Web-Site anzumelden:
 
Thema ohne neue Antworten

buntes PHP-Highlighting?


Autor Nachricht
Verfasst am: 24.11.2002 [13:54]
Phil Marx
Themenersteller
Dabei seit: 23.05.2002
Beiträge: 958
Huhu ihrs!
Sagt mal, wie habt ihr (oder du, dominik) das hinbekommen, dass hier buntes PHP-Syntaxhighlighting ist?

Ich habe bei mir im Forum nun auch mal extensiv PHP-Codes genutzt und da bleibts stur schwarz ( <a rel="nofollow" href="outbound.php?url=http://forum.yubb.de/thread.php?threadid=71&boardid=4&styleid=3&page=1" target="_blank"><a href="http://forum.yubb.de/thread.php?threadid=71&boardid=4&styleid=3&page=1" target="_blank">http://forum.yubb.de/thread.php?threadid=7...tyleid=3&page=1</a></a> , soll keine Werbung darstellen.. Obwohl... icon_razz.gif).

Was hab ich falsch gemacht? Weil, dann könnte ich auch die Code-Funktion nutzen, da bleibts auch schwarz.
Bitte, sagt es mir, denn ich find das Feature einfach cool ;D
Verfasst am: 24.11.2002 [14:07]
SOIR
Dabei seit: 02.03.2002
Beiträge: 847
Hi,

benutz' einfach <a rel="nofollow" href="outbound.php?url=http://www.php.net/manual/de/function.highlight-string.php" target="_blank">diese Funktion</a>.

Gruß.

[b]Nachtrag:[/b:726de5d0ef] <a rel="nofollow" href="outbound.php?url=http://www.php.net/manual/de/function.show-source.php" target="_blank">Diese Funktion</a> geht auch. icon_wink.gif
Verfasst am: 24.11.2002 [14:18]
Dominik Kopp
Dabei seit: 02.03.2002
Beiträge: 1580
ersetz mal die phphighlight in der _functions.php durch das hier:

PHP
function phphighlite($code) {
 
 #$code = str_replace(""",""",$code);
 $code = rehtmlspecialchars($code);
 #$code = str_replace(">", ">", $code);
 #$code = str_replace("<", "<", $code);
 #$code = str_replace("&", "&", $code);
 #$code = str_replace('$', '$', $code);
 #$code = str_replace('n', 'n', $code);
 #$code = str_replace('r', 'r', $code);
 #$code = str_replace('t', 't', $code);
 $code = str_replace("
", "", $code);
 $code = str_replace("
", "", $code);
 $code = stripslashes($code);
 if(!strpos($code,"<?") && substr($code,0,2)!="<?") $code="<?phpn".trim($code)."n?>";
 $code = trim($code);
 ob_start();
 $oldlevel=error_reporting(0);
 highlight_string($code);
 error_reporting($oldlevel);
 $buffer = ob_get_contents();
 ob_end_clean();
 #$buffer = str_replace("
", "",$buffer);
 
 #$buffer = str_replace(""", """, $buffer);
 #echo nl2br(htmlspecialchars($buffer))."<hr>";
 return "<table border="0" align="center" width="90%" cellpadding="3" cellspacing="1"><tr><td><span class="genmed">[b]PHP:[/b:1e4755bbe3]</span></td></tr><tr><td class="quote"><pre>$buffer</pre></td></tr></table>";
}
Verfasst am: 24.11.2002 [14:28]
Phil Marx
Themenersteller
Dabei seit: 23.05.2002
Beiträge: 958
<!--quoteo--><div class='quotetop'>ZITAT</div><div class='quotemain'><!--quotec-->[i]Original von Dominik Kopp [/i:dfd1ad1de5]
ersetz mal die phphighlight in der _functions.php durch das hier: [..]<!--QuoteEnd--></div><!--QuoteEEnd-->

Hm, nee, nicht direkt
Funktioniert nicht ganz, eigentlich gar nicht...

Edit: Die images aus dem Code sind schon raus, so doof bin ich net icon_razz.gif
Verfasst am: 24.11.2002 [14:41]
Dominik Kopp
Dabei seit: 02.03.2002
Beiträge: 1580
grins. da hast doch ein wenig den code verhauen.
mom. ich hänge mal was an (und probier gleichnochmal was aus)

[code:1:1f471fa66e]function phphighlite($code) {



#$code = str_replace(""",""",$code);

$code = rehtmlspecialchars($code);

#$code = str_replace(">", ">", $code);

#$code = str_replace("<", "<", $code);

#$code = str_replace("&", "&", $code);

#$code = str_replace('$', '$', $code);

#$code = str_replace('n', 'n', $code);

#$code = str_replace('r', 'r', $code);

#$code = str_replace('t', 't', $code);

$code = str_replace("
", "", $code);

$code = str_replace("
", "", $code);

$code = stripslashes($code);

if(!strpos($code,"<?"icon_wink.gif && substr($code,0,2)!="<?"icon_wink.gif $code="<?phpn".trim($code)."n?>";

$code = trim($code);

ob_start();

$oldlevel=error_reporting(0);

highlight_string($code);

error_reporting($oldlevel);

$buffer = ob_get_contents();

ob_end_clean();

#$buffer = str_replace("
", "",$buffer);



#$buffer = str_replace(""", """, $buffer);

#echo nl2br(htmlspecialchars($buffer))."<hr>";

return "<table border="0" align="center" width="90%" cellpadding="3" cellspacing="1"><tr><td><span class="genmed">PHP:</span></td></tr><tr><td class="quote"><pre>$buffer</pre></td></tr></table>";

}[/code:1:1f471fa66e]
mal sehen ob das geht, wenn nicht->anhang
Verfasst am: 24.11.2002 [14:49]
Phil Marx
Themenersteller
Dabei seit: 23.05.2002
Beiträge: 958
ok, ich habs jetzt, aber warum sind da so viele Zeilen auskommentiert, die sind doch allesamt nützlich oder?!

Edit: und 2 Sachen noch:
1.) Der wandelt mit die < und > um in < und zeigt es mir auch so an... :-/
2.) Ich habe am Ende vom Code Riesenabsätze... Der obere ist ok, aber der untere ist echt extrem... Obwohl ich im Beitrag selbst keine Absätze der Art sind ;(

Ansehen kann man es sich ja unter der URL gaaaaanz oben :]

P.S.: DOminik, es gibt einen Anti-Smilies-hören-nach-dem-klick-auf-zu-anmineren-hack icon_wink.gif

2.Edit: Läuft alles, danke!