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

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...