You are not logged in.

wcf.regNote.message

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

1

Saturday, March 31st 2007, 10:51am

Editiermöglichkeit für ein Unicode Textdokument

Ich hab ein Textdokument im Unicode welches ich mittels einem Formular online editieren möchte. Das heißt in diesem Textdokument gibt es Einträge welche von einem Flash ausgelesen werden und später dann ausgegeben. In dem Textdokument gibt es div. Einträge wie z.B.

////////////////////////News//////////////////////
&news=News News News&
////////////////////////Baustelle//////////////////
&baustelle1headline=<b>Baustelle 1&
&baustelle1=Baustelle Text&
&baustelle1bilderanzahl=3&
&baustelle2headline=<b>Baustelle 2&
&baustelle2=Baustelle Text&
&baustelle2bilderanzahl=1&

Mein Problem an der Sache ist das das Dokument nach dem Editieren wieder haar genau so aussehen muss.

Momentan stehe ich etwas auf der Leitung und finde keinen guten Anfang. Das einzige was ich bis jetzt habe ist das ich das Textdokument zeilenweise einlese, jede Zeile in ein Array schreibe und mittels utf8_decode erst mal umwandle in einen normalen Text. Das schreiben hab ich genau so angelegt. Ich weiß nur nicht wie ich jetzt z.B. &baustelle1headline= als Titel für das Formularfeld erkennen soll und das dahinter dann als value und nicht zu vergessen das & was jede Zeile abschließt wieder ans Ende zu setzen.
Zusätzlich muss das ganze Dynamisch sein. Das heißt es müssen beliebig viele dieser Blöcke möglich sein so das einfach das Formular erweitert wird. Die Blöcke können auch anders heißen wie z.B. &xyz1headline usw. somit hab ich kaum eine Möglichkeit einzelne Blöcke zu erfassen.

Vielleicht hat ja jemand eine Idee oder nen guten Ansatz wie man das machen könnte.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

2

Monday, April 2nd 2007, 10:54am

Ich hab das ganze jetzt etwas anders gemacht da mir das zu blöde war das Dokument auszulesen. Ich hab zusätzlich jetzt eine csv welche einfach die Inhalte enthällt. Der Aufbau ist jetzt folgendermaßen.

bezeichnung;Überschrift;Text;Bilderanzahl;index

So, beim Formular baue ich auf in einer while-Schleife welche das csv durchläuft und pro Zeile einen Formularblock erzeugt. Die Namen der einzelnen Felder heißen wie die Feldbezeichnungen mit einem $i als Index. Das csv hat 60 Zeilen und somit erhalte ich 60 Formularblöcke mit je 5 Formularfeldern wobei der Index gesperrt ist.

Beim Speichern stehe ich jetzt allerdings etwas auf dem Schlauch. Vom ersten Formularblock das Feld für die Bezeichnung heißt $bezeichnung1 und für den zweiten Formularblock $bezeichnung2 usw. und ich wollte mir jetzt die Ausgabe in die csv vorbereiten mit

PHP Source code

1
$ausgabe $bezeichnung$i.";".$headline$i.";".$text$i.";".$bilderanzahl$i.";".$index$i;

Und dies lasse ich eben wieder so oft durchlaufen bis $i den Wert vom vorherigen Durchlauf erreicht hat und somit 60 mal. Allerdings ist die Vorbereitung meiner Ausgabe irgendwie fehlerhaft. Ich glaub ich hab mich zu sehr in dem Kram verhäddert und blick schon nicht mehr durch. Jemand ne Idee wie ich in der while-Schleife zum Speichern erreiche das beim ersten Durchlauf da steht $ausgabe = $bezeichnung1.";".$headline1... und eben beim letzten Durchlauf dann $ausgabe = $bezeichnung60.";"...?

EDIT:
OK ich bin jetzt schon ein Stück weiter. Allerdings trotzdem noch weit Weg vom Ziel :(

Die Zeile müsste lauten

PHP Source code

1
$ausgabe = ${'bezeichnung'.$i}.";".${'headline'.$i}.";".${'text'.$i}.";".${'bilderanzahl'.$i}.";".${'index'.$i};

Allerdings enthalten die Variablen trotzdem keinen Wert. Ich versteh das absolut nicht. Das Problem mit register_globals hab ich (denke ich) auch erledigt. Ich hab folgendes oben eingefügt.

PHP Source code

1
2
3
4
5
6
7
8
if (!ini_get('register_globals')) { //globals = OFF ??
    $types_to_register = array('GET','POST','COOKIE','SESSION','SERVER');
    foreach ($types_to_register as $type) {
        if (@count(${'HTTP_' $type '_VARS'}) > 0) {
            extract(${'HTTP_' $type '_VARS'}, EXTR_OVERWRITE);
        }
    }
}

Ich steh echt auf dem Schlauch.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

wcf.user.socialbookmarks.titel