Mailinglisten-Archive |
On Wednesday 05 January 2005 01:21, Thorsten Dikmann wrote: > Ähm ich suche eher nach dem Skript, welches eurem "Code-Listings" zugrunde > liegt, also das wirkliche "Eintrags-Skript". Kann das eigentlich "nur" PHP > Source Highlighten? Die php::bar-Variante alleine macht nicht glücklich die basiert in der Funktionsweise auf dem Framework darunter. In der Zeit in der man das da raustrennt hat man es auch neu geschrieben. Was braucht man? Einen Ort, z.B. eine Datenbank-Tabelle in dem die Listings gespeichert werden, ein Skript um neue Einträge zu speichern eines zum anzeigen und eines für eine Liste. Das Eintrag Skript ist recht einfach um ja nur eine Insert-Query an die Datenbank (vorausgesetzt man verwendet eine DB als Speicherort) machen und den Source so wie evtl noch einen Titel und eine Beschreibung speichern - so wie man das immer macht vorher halt noch die normalen Überprüfung der Benutzerdaten (keine Anführungsstriche und dieses Zeug...) Der Teil der eine Liste darstellt macht ein SELECT ID, Titel FROM tabelle und stellt die zur Auswahl - auch nicht weiter aufregend. Etwas interessanter ist die Ausgabe, für schnelle Erfolge highlight_string() verwenden um es bunt zu bekommen, wer will darf auch gerne bei [1] sehen wie man da Zeilennummern hinbekommt (von Andreas Demmer auch nach PHP4 portiert - wobei da, in der Funktion, glaube ich, nicht viel zu tun ist). Wenn man auch was anderes als PHP highlighten will kann man z.B. GeSHi[2] nehmen (danke Sebastian Mendel für den Tipp) Wobei highlight_string den Vorteil hat, dass das direkt den PHP Parser zum highlighten verwendet und er somit den Code versteht wohingegen GeSHi anhand fest definierter Schlüsselwörter vorgeht. Also insgesamt ein INSERT und zwei SELECTs mit etwas drumrum wenn man will kann man da noch eine Tabelle für eine Kommentarfunktion ergänzen. Sollte auch kein großer Act sein. Hm, mehr Text als gedacht - hätte es doch schnell runtertippen sollen hätte wohl in etwa ebensolange gedauert... johannes [1]http://schlueters.de:8000/phpstuff/php5/prepend.php#l44 [2] http://qbnz.com/highlighter/
php::bar PHP Wiki - Listenarchive