Thread Variablen automatisch auslesen und verarbeiten (15 answers)
Opened by cbxk1xg at 2008-07-09 14:39

cbxk1xg
 2008-07-09 14:39
#111967 #111967
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Hallo, lang ist es her das ich mein CMS angefasst habe und mindestens ebenso lange habe ich hier nichts mehr geschrieben oder jemandem geholfen. Asche auf mein Haupt!

Nun habe ich aber eine etwas kniffelige Frage. Wenn man GET/POST Anfragen auswertet, dann weiß man zwar nie so genau was man da so an key/value pairs bekommt, aber man weiß welche man haben will und wie man die dann weiter verarbeitet. Z.B. bei einem Form-Mailer.

Nun will ich meinem CMS aber noch ein Feature hinzufügen um mit einer Zeile Code eine beliebige Anzahl von Variablen mit einem Template zu verheiraten. Da ich die Variablen nicht im vorraus kenne, kann ich diese auch nicht hard-coden.

Ich würde das gerne so lösen: Der normale CMS-User tippt folgendes in ein HTML Forumlar.
Code: (dl )
[include=teaserbox#Schröder erneut als Kanzlerkandidat im Gespräch#Der ehemalige Bundeskanzler will's noch mal wissen. Geben ihm die Bürger nach Hartz IV erneut eine Chance?#MyPicure.jpg


include steht für den Befehl an das CMS etwas zu tun. Und zwar mit dem Template teaserbox

Das Template sieht so aus.
Code: (dl )
1
2
3
4
5
6
7
<table border="0" width="250" cellspacing="0" cellpadding="0" bordercolor="#000000"><tr>
<td bgcolor="#000000"><font color="#FFFFFF">[VAR01]</font></td>
</tr><tr>
<td>[VAR02]</td>
</tr><tr>
<td><img src="http://www.foo.bar/imgages/[VAR03]" alt="[VAR01]"></td>
</tr></table>


Ich weiß, es gibt Module wie HTML::Template und ähnliches. Aber es ist dafür eigentlich überdimensioniert. Im wesentlichen will ich nur nach der Raute Variablen von 01 bis n automatisch definieren und diese dann in das Template packen.

Halb-Automatisch bekomme ich das auch hin. Also erst den TAG des User erkennen:
Code (perl): (dl )
$line =~ s-\[include\=(.*?)\]-$IncludeFile = &getIncludeFile( "$PATHTOincludes$1" )-ge;
dann die Eingaben an der Raute trennen:
Code (perl): (dl )
my ($Val01,$Val02,$Val03) = split (/\#/, $line);


Aber wenn ich nicht weiß, wie viele Werte da kommen, müsste ich nur auf Verdacht 50 $Val Strings schreiben. Das erscheint mir nicht sonderlich komfortabel.

Hat jemand eine Idee?

View full thread Variablen automatisch auslesen und verarbeiten