php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.08.2005, 17:47  
Gast
 
Beiträge: n/a
Standard txt datei auslesen

Hi!

Also, ich will eine txt Datei auslesen. Das Problem ist jetzt nur, dass sie so ausgebaut ist:

1 [XXXX] YYYYY (ZZZZZ )

wie kann ich das machen, dass ich das erste array die ganzen Z ausliest => von [ bis ].

das zweite array die y ausliest und das dritte array die Z von ( bis ) ausliest?

Das Script muss aber so flexibel sein, das es damit zurecht kommt wenn der X-String fehlt (inkl.eckigen klammern)

danke hans
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.08.2005, 17:53  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

mittels regulären ausdrücken, preg_match_all und dem passenden flag kannst du das tun.
__________________
derHund ist offline  
Alt 03.08.2005, 17:55  
Gast
 
Beiträge: n/a
Standard

readfile (? wars glaub ich? Lange nicht mehr mit PHP File-Funktionen gewerkelt) und die String-Funktionen sind dein Freund.

Dann gehst du Zeile für Zeile durch die Datei und schaust was du jeweils in der Zeile vorfindest.

Der Rest ist ein wenig nachdenken.
 
Alt 03.08.2005, 18:04  
Gast
 
Beiträge: n/a
Standard

ok,wers mal probieren, thx hanns
 
Alt 06.08.2005, 10:14  
Gast
 
Beiträge: n/a
Standard

ok,also ich komme mit den flags nicht zurecht, gibts da irgendeine aleitung? das auf tut.php-q.net habe ich gelsesen, verstehe aber nur bahnhof

lg hans
 
Alt 06.08.2005, 13:17  
Erfahrener Benutzer
 
Registriert seit: 20.01.2005
Beiträge: 1.557
PHP-Kenntnisse:
Fortgeschritten
Buhmann ist zur Zeit noch ein unbeschriebenes Blatt
Buhmann eine Nachricht über ICQ schicken Buhmann eine Nachricht über MSN schicken
Standard

i = groß u. kleinschreibung egal
U = Gier unterdrücken . es wird immer der kürzeste String gefunden
s = Zeilenumbruch erlaubt
m = ^ am anfang bedeutet nicht anfang vom text, sondern anfang einer neuen zeile

das sind die wichtigsten, und die schreibste einfach irgendwie hinter deinen hinteren delimiter.
Buhmann ist offline  
Alt 06.08.2005, 13:22  
Erfahrener Benutzer
 
Registriert seit: 07.07.2005
Beiträge: 150
sysop
sysop eine Nachricht über ICQ schicken
Standard

$zeile = file("path/datei.txt");

for($i = 0;$i < count($zeile); $i++)
{
$element = explode(" ",$zeile[$i]);
foreach($element as $toprint) echo $toprint." -->";
}

sioeh dir das ergebnis mal an....
__________________
gruss sys
sysop ist offline  
Alt 06.08.2005, 14:55  
Gast
 
Beiträge: n/a
Standard

und wie sieht sowas grundsätzlich aus?
 
Alt 06.08.2005, 15:56  
Erfahrener Benutzer
 
Registriert seit: 07.07.2005
Beiträge: 150
sysop
sysop eine Nachricht über ICQ schicken
Standard

aufgeschlüsselt macht der code folgendes:

$zeile = file("path/datei.txt");

die ganze datei wird in ein array $zeile gelesen. jede zeile deiner datei steht also im arry. zeile 1 in $zeile[0], zeile 2 in $zeile[1] u.s.w.


for($i = 0;$i < count($zeile); $i++)
{
$element = explode(" ",$zeile[$i]);
foreach($element as $toprint) echo $toprint." -->";
}


die folgende for schleife geht alle einzelnen elemente des arrays $zeile durch und trennt die einzelnen zeilen durch leerzeichen (lt. deinen angaben oben sieht das zumindest wie ein leerzeichen aus 1 [XXXX] YYYYY (ZZZZZ )) und liest die einzelnen teile in ein weiteres array $element, der code dafür ist $element = explode("trennzeichen",$zeile[$i]);.

im array $element sollte nun also stehen:
$element[0] = 1
$element[1] = [XXXX]
$element[2] = YYYYY
$element[3] = (ZZZZZ)

als trennzeichen verwendest du hier z.b. bei standard csv ein semikolon oder ein tab, je nachdem, welchen trenner du in der csv verwendest. statt des foreach($element as $toprint) echo $toprint." -->"; könntest du auch print_r($element); verwenden, das wäre vielleicht auch besser gewesen um zu zeigen, was passiert. print_r(variable) zeigt dir das array und den inhalt des array´s an.

wie du den ansatz regelst, hängt auch davon ab, wie gross deine textdatei ist. ich bin mit dieser methode bisher immer recht gut gefahren. als trenner würde ich für textdateien TAB (\t) empfehlen, dann kann man die textdateien auch problemlos in tabellenkalkulationsprogrammen einsehen oder editieren. ich betreibe ein ganzes forum, dass nur auf solchen durch tab.grennten dateien basiert.
__________________
gruss sys
sysop ist offline  
Alt 07.08.2005, 15:10  
Gast
 
Beiträge: n/a
Standard

Hi! leider kann ich mti dem script nix anfangen, da in der datei auch mal leerzeilen sind und auch andere sachen stehen. also müsste ich die X, Y und Z direkt herausfiltern.

ich glaube, ich muss mit preg_match() arbeiten, aber leider checke ich die Regexes nicht wirklich.

lg hans
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datei auslesen Joerg80 PHP Tipps 2008 8 26.03.2008 22:18
Werte aus txt Datei auslesen und mit DB Werten abgleichen und ausgeben MatthiasNI PHP-Fortgeschrittene 1 18.02.2008 17:07
XML datei auslesen und in array schreiben PHP Tipps 2006 10 27.09.2006 13:58
Log Datei auslesen Computer PHP Tipps 2006 7 05.09.2006 16:15
datei auslesen scooter PHP Tipps 2005-2 12 22.06.2005 12:11
Bestimmte Werte aus cvs Datei auslesen PHP Tipps 2005-2 1 20.06.2005 13:11
Datei auslesen & ausgeben PHP Tipps 2005 5 01.06.2005 19:46
Ordner Struktur auslesen bestimmte datei finden .... silverghost PHP Tipps 2005 3 24.05.2005 13:55
Datei auslesen ergibt ein Problem Fraylman PHP Tipps 2004-2 4 22.12.2004 10:12
teile einer datei auslesen Fraylman PHP Tipps 2004-2 3 09.12.2004 08:32
bestimmter abschnitt einer datei auslesen PHP Tipps 2004-2 1 08.12.2004 15:22
Datei auslesen PHP Tipps 2004 5 18.09.2004 12:17
[Erledigt] Einzelne Werte aus TXT Datei auslesen und anzeigen. PHP Tipps 2004 1 08.09.2004 06:31
Auslesen einer log Datei! PHP Tipps 2004 18 19.08.2004 13:25
Variable von .txt Datei auslesen PHP Tipps 2004 1 01.07.2004 11:18

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php datei auslesen trennzeichen tab

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:28 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.