Templateparser realisieren

Headymaster

Erfahrenes Mitglied
Hallo!

ich würde gerne einen eigenen Templateparser realisieren......habe schon in den foren gesucht, aber leider nichts gefunden, was meinen ansprüchen passt.

So nun erstma einiges zum Aufbau:

Im root Verzeichnis sollen alle php Dateien liegen und zwar so

+index.php
+admin
-index.php
+gallery
-index.php
usw....halt alle module

Dann soll in diesem root Verzeichnis ein "inc" Ordner sein:

+inc
-templates
-admin
-gallery
-gallery_show.html // einzelne html dateien für die einzelnen Bereiche der gallery
-gallery_comment.html
-kontakt
-menu // miniansichten.......für die index.html....sprich shoutbox und die links
-index.html //indexseite.....mit Platzhaltern für shoutbox...News, Counter usw....
-images


So und nun ein Beispiel für ein Template:

z.B. user_show.html:

PHP:
<table width="100%">
  <tr>
    <td align="center">[u_pic]</td>
  </tr>
  <tr>
    <td align="center">[u_pic_upload]</td><td align="center">[u_pic_delete]</td>
  </tr>
  <tr>
    <td>[u_age]</td>
  </tr>
  <tr>
    <td>[u_email]</td>
  </tr>
</table>

So in etwa sollte dann ein Template ausschauen, was dann halt die Ergebnisse uas den heweiligen php ateien holt oder anfragen an diese sendet.



So nun meine Frage(n)^^......
Wie kann ich anfangen sowetwas zu realisieren?
Welche Operatoren brauche ich dafür?
Hätte zufällig Lust, jmd dabei zu helfen? --> PM an mich

Ich würde mich über antworten sehr freuen

MFG Niels
 
hi.. ich schreibe grade an einem kleinen cms tool, das templates und content in einer datenbank hält und das ganze beim abruf zusammenbaut. vielleicht "inspiriert" dich ja mein ansatz... (oder ich bekomm haue von den "gurus", ist mein erster cms versuch)

ich bin folgenden weg gegangen: templates sind im prinzip html dateien in die der programmierer an den entsprechenden stellen das token [CONTENT] setzt...
eine page besteht aus der definition welches template und welche contents zusammengesetzt werden.
die content blöcke die in ein template eingesetzt werden haben ihrerseits auch diverse BB artige codes wie zb [EXTLINK:"http://xyz"]clickme[/EXTLINK]

alle diese tokens ersetze ich mit regexpressions...

Reg Expressions sind wahrscheinlich auch dann dein Stichwort...

Ein Beispielfragment aus meinem "parser", der engine oder wie man's nennen will, das Image codes ersetzt:

PHP:
  // replace tokens like [IMAGE:"image.xyz"]
  $pattern = '(\[)( *)(image|IMAGE)( *)(:)( *)(")([0-9a-zA-Z. ]+)(")( *)(\])';
  while (ereg($pattern, $template, $regs)) {
      $template = str_replace($regs[0], '<img src="files/'.$regs[8].'" border="0" alt="Image: &quot;'.$regs[8].'&quot;">', $template);
  }

...
...
 
Zurück