.txt auslesen, kommentar1, kommentar2 etc...

Aser

Erfahrenes Mitglied
Tag
Hab bereits nach Ansätzen gesucht… aber nichts gefunden
Bin mit preg_match_all nicht zurechtgekommen

Ich habe diesen Text in einer externen .txt

beschreibung.txt
Code:
bildeins
bildeins.uploader|musteruploader
bildeins.beschreibung|musterbeschreibung
bildeins.kommentar
bildeins.kommentar.1.name|peter
bildeins.kommentar.1.kommentartext|mustertext als kommentar
bildeins.kommentar.1.ip|1234567
bildeins.kommentar.1.uhrzeit|21.21
bildeins.kommentar.2.name|peter
bildeins.kommentar.2.kommentartext|mustertext als kommentar
bildeins.kommentar.2.ip|1234567
bildeins.kommentar.2.uhrzeit|21.21
bildeins.kommentar.3.name|peter
bildeins.kommentar.3.kommentartext|mustertext als kommentar
bildeins.kommentar.3.ip|1234567
bildeins.kommentar.3.uhrzeit|21.21
bildeins.voting
bildeins.voting.1|22
bildeins.voting.1.user|eva
bildeins.voting.1.user|peter
bildeins.voting.2|22
bildeins.voting.2.user|tom
bildeins.voting.2.user|uli
bildeins.voting.2.user|penner
bildeins.voting.3|22
bildeins.voting.4|22
bildeins.voting.5|22
bildeins.voting.6|22
bildeins.voting.gesamt|35,76




bildzwei
bildzwei.uploader|musteruploader
bildzwei.beschreibung|musterbeschreibung
bildzwei.kommentar
bildzwei.kommentar.1.name|peter
bildzwei.kommentar.1.kommentartext|mustertext als kommentar
bildzwei.kommentar.1.ip|1234567
bildzwei.kommentar.1.uhrzeit|21.21
bildzwei.kommentar.2.name|peter
bildzwei.kommentar.2.kommentartext|mustertext als kommentar
bildzwei.kommentar.2.ip|1234567
bildzwei.kommentar.2.uhrzeit|21.21
bildzwei.kommentar.3.name|peter
bildzwei.kommentar.3.kommentartext|mustertext als kommentar
bildzwei.kommentar.3.ip|1234567
bildzwei.kommentar.3.uhrzeit|21.21
bildzwei.voting
bildzwei.voting.1|22
bildzwei.voting.1.user|eva
bildzwei.voting.1.user|peter
bildzwei.voting.2|22
bildzwei.voting.2.user|tom
bildzwei.voting.2.user|uli
bildzwei.voting.2.user|penner
bildzwei.voting.3|22
bildzwei.voting.4|22
bildzwei.voting.5|22
bildzwei.voting.6|22
bildzwei.voting.gesamt|35,76

etc…

ich will nun… z.B.

wenn ich „bildeins.uploader|“ eingabe soll $uploader=“musteruploader“ sein

es soll nach „bildeins.uploader|“ gesucht werden und dann das, was sich hinter „|“ befindet als Wert zurückgegeben werden

und nachher
suche ich nach „bildzwei.kommentar.1.“
falls dieses nicht vorhanden ist, passiert nix
falls ja, dann soll in einer Schleife solange weitergesucht werden bis alle Kommentare ausgelesen sind.

z.B.
PHP:
as long as „bildzwei.kommentar.$x” exists     ;-)
{
echo “bildzwei.kommentar.$x”;
x+=1;
}


Dank im Voraus
 
Probier mal Folgendes:
PHP:
<?php

	$array = array();
	$lines = preg_split('<\x0A|\x0D\x0A|\x0D|\x0C>s', $string);
	foreach( $lines as $line ) {
		if( preg_match('/^([^\.]+)\.(uploader|beschreibung)\|(.+)$/', $line, $matches) ) {
			$array[$matches[1]][$matches[2]] = $matches[3];
		}
		if( preg_match('/^([^\.]+)\.kommentar\.([1-9][0-9]*)\.(name|kommentartext|ip|uhrzeit)\|(.+)$/', $line, $matches) ) {
			$array[$matches[1]]['kommentar'][$matches[2]][$matches[3]] = $matches[4];
		}
	}

?>
Ich hoffe, du weißt, dass das Ganze mit einer Datenbank wesentlich einfacher zu lösen wäre.
 
hm
also erst mal vielen Dank

mal ne andere Frage

ich habe

$mustertext="nameeins namezwei namedrei betreff:musterbetreff";

ich möchte nun, dass mir der Wert gegeben wird, der hinter ":" steht
also
$betreff="musterbetreff";

ich möchte wirklich nicht deine Zeit rauben... find aber nix begreifliches im Internet
also dann nochmals vielen Dank im Voraus
 
tag
habet Dank
genau das habe ich gesucht

jetzt habe ich allerdings ein neues Problem

PHP:
       $auszugebendemessage="mustertext"; #dies kann ich nicht aendern
      
#es soll aber so aussehen: 
                 $feldmustertext == "on"
            if (XXX == "on")
             {
             echo "bla bal";
             }

//*was kommt nun an XXX hin?
$.'feld'.$auszugebendemessage geht nicht
$feld.$auszugebendemessage   geht auch nicht
'/$'.'feld'.$auszugebendemessage geht auch nicht....
ich hoffe ich habe mich verstaendlich ausgedrueckt
Dank im Voraus *//
 
Zurück