Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Sehr geehrte Mitglieder,

Ich habe folgendes Problem:

Ich muss eine Text-datei einbinden. Allerdings nur einzelne abschnitte.

Als Beispiel, Die Datei hat folgende Sätze enthalten:

:20:B2NG03EELKW0GEQ7

:25:30040000/600404146300EUR

:28C:75/1

:60F:C090417EUR218175,91

Ich soll dann nur folgende Informationen herausfiltern:

B2NG03EELKW0GEQ7

30040000

600404146300EUR

75/1

C090417

EUR218175,91

Habe es schon hinbekommen, dasdie :20: usw. wegfallen, allerdings schreibt er diese jetzt nicht untereinander hin sondern nach mehreren Spalten erst.

So sieht mein Bisheriger Code aus:

<?PHP

$fp = fopen ( 'Auszug1.txt', 'r' );

while ( $data = fscanf ( $fp, '%[:20:\:25:\:28C:\:60F:\:60M:\:61:\:62M:\:62F:\:86:]%s' ) )apphire

{

list ( $leer, $Auftragsreferenznr, ) = $data;

echo 'Auftragsreferenznr: ' . $Auftragsreferenznr . '<br>';

echo 'Kontobezeichnung: ' . $Kontobezeichnung . '<br>';

echo 'Auszugsnummer: ' . $Auszugsnummer . '<br>';

echo 'Anfangsaldo: ' . $Anfangsaldo . '<br>';

echo 'Zwischensaldo1: ' . $Zwischensaldo1 . '<br>';

echo 'Umsatzzeile: ' . $Umsatzzeile . '<br>';

echo 'Zwischensaldo2: ' . $Zwischensaldo2 . '<br>';

echo 'Schlußsaldo: ' . $Schlußsaldo . '<br>';

echo 'Mehrzweckfeld: ' . $Mehrzweckfeld . '<br><br>';

}

fclose ($fp);

?>

Wenn ihr eine Lösung wisst, würde ich mich sehr über eine Antwort freuen.

Danke schonmal im Vorraus an alle Mitdenker ;-)!

Mit freundlichen Grüßen

Warbier

Geschrieben

Ich muss eine Text-datei einbinden. Allerdings nur einzelne abschnitte.

Als Beispiel, Die Datei hat folgende Sätze enthalten:

:20:B2NG03EELKW0GEQ7

:25:30040000/600404146300EUR

:28C:75/1

:60F:C090417EUR218175,91

Ich soll dann nur folgende Informationen herausfiltern:

B2NG03EELKW0GEQ7

30040000

600404146300EUR

75/1

C090417

EUR218175,91

Uhm...


list ($bla,$blubb,$WichtigerInhalt) = [URL="http://de2.php.net/split"]split[/URL](":",$Zeile,3);

... pro Zeile?

Geschrieben

Hey DevilDawn,

Erstmal Danke für die schnelle Hilfe ;-)!

Ähm ja also ich habe es schon hinbekommen, das der die :20: :25: usw. vorne weg lässt.

Allerdings will/muss ich auch die in der Mitte stehenden Kürzel in die Nächste Zeile bringen wie z.B "EUR" oder bei einem "/" das habe ich noch nicht hinbekommen.

Also ich Zeig dir mal mein ganzes PHP-Script und wie es danach aussieht ok ;-)!

(Sind nur Beispiel Zahlen)

Script:

<?PHP

$fp = fopen ( 'Auszug1.txt', 'r' );

while ( $data = fscanf ( $fp, '%[:20:\:25:\:28C:\:60F:\:60M:\:61:\:62M:\:62F:\:86:]%s' ) )

{

list ( $leer, $Auftragsreferenznr, $Kontobezeichnung, $Auszugsnummer, $Anfangsaldo, $Zwischensaldo1, $Umsatzzeile, $Schlußsaldo, $Mehrzweckfeld) = $data;

echo 'Auftragsreferenznr: ' . $Auftragsreferenznr . '<br>';

echo 'Kontobezeichnung: ' . $Kontobezeichnung . '<br>';

echo 'Auszugsnummer: ' . $Auszugsnummer . '<br>';

echo 'Anfangsaldo: ' . $Anfangsaldo . '<br>';

echo 'Zwischensaldo1: ' . $Zwischensaldo1 . '<br>';

echo 'Umsatzzeile: ' . $Umsatzzeile . '<br>';

echo 'Zwischensaldo2: ' . $Zwischensaldo2 . '<br>';

echo 'Schlußsaldo: ' . $Schlußsaldo . '<br>';

echo 'Mehrzweckfeld: ' . $Mehrzweckfeld . '<br><br>';

}

fclose ($fp);

?>

Ausgeführt:

Auftragsreferenznr: B2NG03EELKW0GEQ7

Kontobezeichnung:

Auszugsnummer:

Anfangsaldo:

Zwischensaldo1:

Umsatzzeile:

Zwischensaldo2:

Schlußsaldo:

Mehrzweckfeld:

Auftragsreferenznr: 30040000/600404146300EUR

Kontobezeichnung:

Auszugsnummer:

Anfangsaldo:

Zwischensaldo1:

Umsatzzeile:

Zwischensaldo2:

Schlußsaldo:

Mehrzweckfeld:

Auftragsreferenznr: 75/1

Kontobezeichnung:

Auszugsnummer:

Anfangsaldo:

Zwischensaldo1:

Umsatzzeile:

Zwischensaldo2:

Schlußsaldo:

Mehrzweckfeld:

Auftragsreferenznr: 90417EUR218175,91

Kontobezeichnung:

Auszugsnummer:

Anfangsaldo:

Zwischensaldo1:

Umsatzzeile:

Zwischensaldo2:

Schlußsaldo:

Mehrzweckfeld:

So sieht das dann aus, aber der soll die Werte ja den anderen Variablen Zuweisen und das klappt i-wie nicht :-(!

Ich weiß das ist bestimmt voll einfach, aber ich bin noch anfänger und freue mich über jede Hilfe und jede Lehre die man mir erteilen kann.

Ich danke schonmal im Vorraus ;-)!

Freundliche Grüße

Warbier

Geschrieben

Das fscanf parsed immer nur eine Zeile, daher kannst du nicht alle Werte im folgenden list (...) = $data zuweisen.

Lies erst die Datei ein und push die Werte z.b. in ein Array, dann kannst du sie nach dem Lesen weiter nutzen.


<?PHP
$fp = fopen ( './Auszug1.txt', 'r' ) or exit(1);
$Daten = array();
while ($data = fscanf ( $fp, '%[:20:\:25:\:28C:\:60F:\:60M:\:61:\:62M:\:62F:\:86:]%s' )) {
list ($leer, $wert) = $data;
array_push($Daten,$wert);
}
fclose($fp);

printf("Auftragsreferenznr: %s\n",$Daten[0]);
printf("Kontobezeichnung: %s\n",$Daten[1]);
printf("Auszugsnummer: %s\n",$Daten[2]);
printf("Anfangsaldo: %s\n",$Daten[3]);
?>
[/PHP]

[code] # php pAus.php Auftragsreferenznr: B2NG03EELKW0GEQ7 Kontobezeichnung: 30040000/600404146300EUR Auszugsnummer: 75/1 Anfangsaldo: 90417EUR218175,91 [/code]

Ich hoffe ich hab dein Problem nun auch richtig Verstanden ...

Geschrieben

Boa,

Danke danke danke.

Das ist echt super ;-)!

So wollte ich das hinkriegen und jetzt klappts!

Wirklich Klasse!

Ich hoffe das ich ihnen nicht zuviel Zeit in anspruch genommen habe!!!

Und nochmal vielen Lieben Dank!!!

freundlichen Gruß

Warbier

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...