WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Datei auslesen und bestimmte Inhalte wiedergeben

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Datei auslesen und bestimmte Inhalte wiedergeben - 23 Nov 2024 Antworten
im Forum für Webhosting Homepage gefunden:
Datei auslesen und bestimmte Inhalte wiedergeben
MCBurner
Pixelschubser
Threadstarter




Beiträge: 5

Hallo zusammen!

Ich habe mein Problem bereits durch Hilfe hier aus dem Forum in Teilen lösen können. Aber leider funktioniert es noch nicht ganz rund. Ich möchte mit PHP - von dem ich leider nur Anfänger-Wissen habe (noob) - eine Datei gezielt auslesen. In dieser Datei ist ein Muster zu erkennen, in dem zeilenweise immer die gleichen Angaben - nur mit anderen Werten zu finden sind.

Folgenden Thread aus diesem Forum hab ich schon als Hilfe nutzen können.
http://www.webwork-community.net/posting1486_23_0.html

Für meinen Fall sieht die Datei fast genauso aus, aber eben nur fast. Und da liegt auch mein Problem. Ich komm mit den Separatoren nicht klar.

Das hier ist ein Auszug aus der Datei, die ich auslesen möchte (ist ein TextFile, kein HTML):

[1] = {
["var1"] = " 20 ",
["var2"] = " Herr ",
["var3"] = " 1 ",
["var4"] = " Stein ",
["var5"] = " 005 ",
},
[2] = {
["var1"] = " 1 ",
["var2"] = " Frau ",
["var3"] = " 0 ",
["var4"] = " Schmidt ",
["var5"] = " 007 ",
},

Die Liste zieht sich halt weiter nach unten und kann bis zu 350 Einträge enthalten. Ich möchte nun das als Ergebnis eine Tabelle ausgegeben wird. In der ersten Spalte soll die laufende Nummer aus den eckigen Klammern stehen. In der zweiten Spalte soll der Wert von "var1" stehen. In der dritten Spalte der Wert von var3. Die Werte von var4 und var5 wären optional.

Was bei mir nicht zu klappen scheint, ist die Definition der Platzhalter in preg_match. Denn was ich derzeit erhalte ist nur eine Tabelle in der in Spalten von links nach rechts steht: "1" "var1" "var2" "var3".

Nah dran - aber doch vorbei. Kann mir da jemand helfen? Danke.

  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Poste mal deine bisherige Regular Expression.

  Profil   Editieren   Zitieren
MCBurner
Pixelschubser
Threadstarter




Beiträge: 5

Hmmm - da der Code noch recht kurz ist, post ich mal den gesammten PHP Code den ich jetzt derzeit teste. Er ist etwas gekürzt, weil ich die Ausgabe erstmal nur für eine Variable testen wollte - um es dann später komplizierter zu machen

Hier der Code:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27:
 Auflistung aller Items in tabellarischer Form (mit Testdaten)

";
//Einlesen der Datei
$newfile = fopen("vars.ini","r");
$content = fread($newfile, filesize("vars.ini"));
fclose($newfile);

$user=explode("[",$content);

echo"";

foreach($user as $key => $value){
  preg_match("/.*]/",$value,$nick);
  $nick[0]=preg_replace("/]/","",$nick[0]);
  $name[$key]=$nick[0];
  //Daten in Tabellenzellen schreiben
  if ($key>=1)
  echo "";
}
echo"
$name[$key]
"; echo " Alle Items aufgelistet. Stand: "; ?>


Das Script funktioniert so schonmal generell. Aber die Ausgabe die ich kriege ist diese:

1
"var1"
"var2"
"var3"
"var4"
"var5"
2
"var1"
"var2"
"var3"
"var4"
"var5"

Wohin ich möchte ist aber natürlich sowas wie das hier:

| 1 | Wert von var1 | Wert von var2 | Wert von var3 |
| 2 | Wert von var1 | Wert von var2 | Wert von var3 |

usw....

Diese Nachricht wurde geändert von: languitar
  Profil   Editieren   Zitieren
MCBurner
Pixelschubser
Threadstarter




Beiträge: 5

Zudem hab ich schon ein kleines logisches Problem beim Auslesen der Quelldatei. Das PHP Script macht die Trennung ab dem ersten gefundenen "[". Das ist aber nicht ganz korrekt.

Es gibt einen Initialisierungswert in der Quelldatei, der auch mit "[" anfängt. Die Werte die danach bis zum nächsten "[" ausgelesen werden, brauche ich aber nicht. Ich müsste also dem PHP Script auch noch mitgeben, das er den ersten Treffer weglässt. Daran bastel ich grade.

Is mehr probieren als studieren! Schande auf mein Haupt.

  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Erst mal benutz doch bitte nächstes Mal den [ code ]-Tag. Das macht es übersichtlicher hier.

Also ich würde die Datei schon mal anders einlesen. file_get_contents() gibt dir ein Array mit jeder Zeile der Datei wieder. Wenn alle Datensätze gleich lang sind (also die gleiche Anzahl an Variablen haben), dann könntest du das Array einfach mit foreach durchgehen, jedes x-te Zeile als Index für ein neues Array nehmen (also die Zahle in den eckigen Klammern) und die folgenden Zeilen mit relativ eifnachen Expressions auseinandernehmen und dort anfügen. So erhältst du dann ein Array in folgender Form:
1: 
2: 
3: 
4: 
5: 
6:
$array[1][var1] = 'Wert1_1';
$array[1][var2] = 'Wert1_2';
$array[1][var3] = 'Wert1_3';
$array[2][var1] = 'Wert2_1';
$array[2][var2] = 'Wert2_2';
....
So sollte dann die Ausgabe nachher auch viel einfacher funktionieren.

Diese Nachricht wurde geändert von: languitar
  Profil   Editieren   Zitieren
MCBurner
Pixelschubser
Threadstarter




Beiträge: 5

öhm ich sach einfach erstmal danke. Dann muss ich halt wieder ein paar Sachen über PHP in Erfahrung bringen. Ich hatte schon erwähnt das ich noob bin oder?

Warum macht es denn mehr Sinn den Vorgang des Auslesen zu ändern? Ist es tatsächlich schwerer die passenden "Expressions" für die vorliegende Datei zu finden.

Ich probiers mal.

  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Naja, also rekursive Expressions sind nicht gerade der Hit

  Profil   Editieren   Zitieren
MCBurner
Pixelschubser
Threadstarter




Beiträge: 5

Ne - mit dem Vorschlag komm ich irgendwie überhaupt nicht klar.

Ich bleib mal bei meinem bisherigen Code und versuch mich an den Expressions. Hat jemand ne Idee wie die in meinem Fall aussehen müssten? Oder gibts irgendwo ne schöne Doku dafür?

  Profil   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » Datei auslesen und bestimmte Inhalte wiedergeben

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Datei auslesen und bestimmte Inhalte wiedergeben im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8127851    Heute : 246     Gestern : 761     Online : 111     23.11.2024    10:28      0 Besucher in den letzten 60 Sekunden        
Nach oben