phpbar.de logo

Mailinglisten-Archive

[php] nopaste Skript mit PHP

[php] nopaste Skript mit PHP

Johannes Schlueter schlueter at phpbar.de
Mit Jan 5 01:11:52 CET 2005


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