[code] tag code highlighten...

Kidchaos

Grünschnabel
Also ich möchte in mein Forum die funktion ein bauen das man seinen code dort posten kann.

So habe es auch hinbekommen das er das posten kann und so nur mein Prob ist ich möchte gerne das der gepostete code gehighlightet wird bekomme das nur net hin :(

Kenn einer den source denn ich da verwenden kann?
 
saug dir halt ein forum, in dem es so läuft wie du es haben willst und klau dir (wie schon bisher?) das auch zusammen.

wenn du es selbst machen willst: lerne reguläre ausdrücke, dann kannst du dir das genau so bauen wie du willst. Grunddenkensweise: wenn zB eine zeichnkette mit $ anfängt, highligtest du die in der farbe, die variablen haben sollen usw...
 
godwich
das ist nicht so einfach :)

ich habe sowas programmier :
ich sage nur v4 ;)

Problem:

Du musst den Code unterscheiden zwischen

a) text vor dem code
/code/
b) Den Code
//code/

c) Den text nach dem Code

/code/
d) neuer code
//code/

e) nach neuem code

Der Trick dabei ist:
Du nimmst den eingebegenen Text und
bildest daraus ein Array.
Und zwar

Laueft eine Schleife
while(SomeThingToDo){

Trennst du den Text in 2 häften
bei /code/.

somit hast du
a)
und bcde

und den /code/ tag offen.
Somit trennst du beim 1. schliessendem //code/ tag.
und gibst das deinem 3 er array.

Damit hast du nun
a) u. b) und cde

Du weisst nach diesem System hast du immer Anfang + Code + Ende.

Somit kannst du b) nun einfach bearbeiten ereg_replace usw.
/*
Schwierigkeit hierbei sind Kommentare über mehrere Zeilen.
*/

Dann fügste zusammen
abcde
Das läuft solange in einer schleife bis er keinen code tag mehr findet.

Sprich er läuft noch einmal durch
und trennt
abc u d u e
und bearbeite d

danach gibts keine code tags mehr und er hat alles bearbeitet.

Nach diesem Prinzip ist das gecodet. Hat den vorteil das mann z.B. auch highlight mehrer Sprachen nutzen kann usw.
 
Zurück