Problem mit explode
Bastian
- php
Hallo,
ich möchte ein User-Homepage-Script anpassen.
Die Daten werden in einer .txt-Datei gespeichert, die wie folgt aufgebaut ist:
||email@censored.de||#000000<|>#FFFFFF<|>#555555<|>#FFFFFF<|>#777777<|>#000000<|>#AAAAAA<|>Hier der Text<|bi|>bild.gif<|><|gb|><|gb|>Gästebucheintrag<|gb|><|gbend|><|>||
Es ist nur ein Textfeld zum Editieren vorgegeben, ich möchte aber vier realisieren.
Im Originalscript sieht das so aus:
---------------------------------------------------------------------
$dat = file("user/$nick.txt");
$dat2 = explode("||", $dat[count($dat) - 1]);
$dat3 = explode("<|>", $dat2[2]);
$dat4 = explode("<|bi|>", $dat3[7]);
echo "<form method="post" action="inhalt.php?sav=sav3">
<input type="hidden" name="nick" value="$nick">
<textarea name="texten">$dat4[0]</textarea>
<br>
<b>Bild:</b> <input type="text" name="bild" value="$dat4[1]"><br><br>
<input type="submit" value="Speichern"></form></center>";
}
if($sav == "sav3"){
$dat = file("user/$nick.txt");
$dat2 = explode("||", $dat[count($dat) - 1]);
$dat3 = explode("<|>", $dat2[2]);
if(strlen($texten)<2){
$texten= "Hier der Text";
}
$texten = preg_replace("/\r\n|\n/s","", $texten);
$texten = "$texten<|bi|>$bild";
foreach($dat as $date){
$daten = str_replace("$dat3[7]","$texten","$date");
}
$data = fopen("user/$nick.txt","w+");
fputs($data,"$daten");
fclose($data);
---------------------------------------------------------------------
Was muss ich korrigieren, um 4 editierbare Textfelder zu ermöglichen?
Wäre für Hilfe sehr dankbar.
Bastian
hi,
Was muss ich korrigieren, um 4 editierbare Textfelder zu ermöglichen?
noch drei zusätzliche <texareas> ausgeben :-)
_welche_ der oben genannten daten du in welcher dieser textareas bearbeiten willst, hast du ja leider bisher nicht definiert ...
gruss,
wahsaga
Nachricht lesen
Ursprüngliche Nachricht zum Thema: (PHP) Problem mit explode von wahsaga, 27. November 2003, 17:14
Die folgende Nachricht zum Thema stammt von: Bastian, 27. November 2003, 21:10
Hallo,
noch drei zusätzliche <texareas> ausgeben :-)
Na klar, aber welche Variablen muss ich bei den anderen 3 Textareas angeben und wie muss ich die Scriptbefehle ändern, damit auch die 3 anderen Strings richtig in die .txt-Datei zusammengefügt werden und später wieder auseinandergepflückt werden können?
_welche_ der oben genannten daten du in welcher dieser textareas >>bearbeiten willst, hast du ja leider bisher nicht definiert ...
Es geht nur um die Stelle "<|>Hier der Text<|>", die mit dem explode-Befehl extrahiert wird und später wieder eingefügt wird.
Es soll nachher also "<|>Hier Text1<|>Text2<|>Text3<|>Text4<|>in der .txt-Datei stehen. Meine Frage ist also, wie die 3 anderen Variablen lauten müssen und was bei explode stehen muss, damit alles einzelnd zerstückelt und wieder richtig zusammengesetzt wird.
Mit dem explode-Befehl kenne ich mich leider überhaupt nicht aus. Ich hoffe, ihr versteht meine Frage nun besser.
Freue mich immer noch über weitere Hilfe.
Vielen Dank
Bastian
Hi
Handbuch hilft!
Zum Verständniss probiere mal dies aus.
$string = "Teil|Teil2|Teil3|Teil4|Teil5|Teil6";
$arr = explode ("|", $string);
print_r ($arr);
Also Array mir Foreach zerlegen!
Viele Grüße
TomIRL
Es hat ein paar Tage Kopfzerbrechen gebraucht, aber ich hab ne einfachere Lösung gefunden.
Ich hab den extrahierten Textpart einfach durch Trennzeichen in 4 Teile getrennt und mit einem weiteren explode zerlegt und nachher mit
$texten ="§text1<§>$text2<§>$text3<$>text4"
wieder zusammengefügt.
Manchmal ist es einfacher, als man zunächst glaubt.
Liebe Grüße aus Köln
Bastian