Algorithmus für Syntax Highlighting

Ich hab mir nun gedach probieren geht über studieren und hab einfach mal begonnen zu programmieren. Nur irgendwie häng ich schon ziemlich am Anfang.
Ich wollte mich zuerst an einen HTML/PHP/CSS Highlightning ran machen. Jetzt wollte ich Anfangs die einzelnen PHP Codes per Regex aus der Seite filtern und dann den Bereich parsen aber da treten viele Probleme auf.
Mein Code zum Filtern war
Code:
(<\?php|<\?)([\w\s]*)(\?>){0,1}
Nur das wird nicht funktionieren. Denn
1. findet er nichts mehr sobald ein Sonderzeichen wie / im Text steht. (ein Punkt würde mir den Schließen Tag ignorieren)
2. würde ich Probleme bekommen sobald in einem String ein ?> angegeben wird.

Nur wie hol ich jetzt am besten den PHP Code raus.
 
Ich hab mich mal in den Source von Bluefish vertieft jedoch hab ich nichts wirklich Nützliches gefunden. In den Regexes find ich nur nen Code für den Start und den Endtag. Dieser Bereich wird dann zusätzlich im Source geparst. Nur wirklich schlau bin ich nicht geworden. Ich arbeite gerade an einem Versuch alles in Token zu splitten und dadurch Start und Endtags rauszufiltern. Aber ich befürchte dass schon wieder dass dies zu viel Rechenleistung benötigt.

[Edit]
Ich hätte ein funktionierendes Bespiel gehabt aber dies benötigt zu viel Rechenleistung, Bereits nach der 7. Zeile funktioniert der Editor nicht mehr flüssig.
Ich hab bereits Probiert einen RegexCode zu schreiben der folgende Eigenschaften hat nur hab ichs nicht hin bekommen:
Finde alle Bereiche die mit <?php oder <? beginnen und mit ?> enden sofern ?> nicht in einem String mit " " oder ' ' steht. Die Strings müssen auf weiterlaufen wenn das Schlusszeichen escaped wird.

Dieser Code findet mal alle Strings in denen sich ?> befinden
Code:
("[^"\\]*(?:\\.[^"\\]*)*\?>[^"\\]*(?:\\.[^"\\]*)*"{0,1})
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück