Mit PHP Texte umkonvertieren

07/19/2013 18:28 tяuє Ðevin#1
Morgen,

da ich mich derzeit mit PHP beschäftige, möchte ich mal nachfragen, wie genau man Texte in andere Texte konvertiert.
Um meinen Wunsch etwas zu verdeutlichen, hier ein Beispiel.

Ausgangstext:
PHP Code:
Angela Merkel 0133713371337 Berlin Bundeskanzlerin
Günther Jauch 0133713371338 Münster Moderator 
Wunschtext:
PHP Code:
Angela Merkel Bundeskanzlerin
Günther Jauch Moderator 
Der Ausgangstext soll aus einer .txt auf einem Server geladen werden- und eventuell auch wieder in einer zweiten abgespeichert. Wie sollte ich nun vorgehen, um alle anderen Daten (Leerzeichen?) zu "entfernen"?

P.S.: wäre über eine ausführliche Antwort sehr dankbar, am Besten so damit ein PHP Anfänger es einigermaßen Nachvollziehen kann.


Gruß,
Sodii
07/19/2013 18:30 Throuz#2
Du könntest die .txt im csv Format speichern mit ";" als Trennzeichen und könntest mit der Funktion explode bzw vorher File die einzelnen Zeilen aufsplitten und diese dann in Arrays packen Beispiel kommt gleich..

€dit:

PHP Code:
$datei file("deinedatei.txt");
$abfrage count($datei);
$i 0;

 while(
$abfrage $i)
  {
   
   
$zerlegen explode(";"$datei[0+$i]);
     
$i++;
    




Die Variable $abfrage und die Funktion count sind nur vorhanden um eine dauerschleife und somit ein Absturz zu verhindern.
Die Funktion Count zählt die Zeilen der angegeben Datei und sollte die $abfrage nichtmehr größer als $i sein findet kein weiterer durchlauf statt.

Durch die Funktion file wird dein Dokument in alle Zeilen gesplittet und diese werden in einen Array gelesen in diesem Fall $datei[x].

Durch explode kannst du mit $zerlegen[x](In meinem Beispiel) jedes Teil deiner Zeile zwischen den Simmikolons weiterverarbeiten.
Nun fehlt nurnoch:

$resultat = $zerlegen[0].zerlegen[1].$zerlegen[4]
Bei folgendem Input:

Angela;Merkel;0133713371337;Berlin;Bundeskanzlerin
Günther;Jauch;0133713371338;Münster;Moderator

Sollte keine Änderung am Ausgangstext möglich sein ist es ebenfalls möglich das Leerzeichen als Trennzeichen zu benutzen mit:

$zerlegen = explode(" ", $datei[0+$i]);

Variablennamen sind shit aber Wayne :D Is ausm Stehgreif

Ob das nun elegant gelöst ist, ist eine andere Frage jedoch funktioniert es.
Und hoffe das ist das was du meinst :D
07/19/2013 18:33 tolio#3
kommt nen bischen auf ausgangs und zielformat an, im zweifel eignet sich auch regex
07/19/2013 19:17 tяuє Ðevin#4
Quote:
Originally Posted by Throuz View Post
Du könntest die .txt im csv Format speichern mit ";" als Trennzeichen und könntest mit der Funktion explode bzw vorher File die einzelnen Zeilen aufsplitten und diese dann in Arrays packen Beispiel kommt gleich..

€dit:

PHP Code:
$datei file("deinedatei.txt");
$abfrage count($datei);
$i 0;

 while(
$abfrage $i)
  {
   
   
$zerlegen explode(";"$datei[0+$i]);
     
$i++;
    




Die Variable $abfrage und die Funktion count sind nur vorhanden um eine dauerschleife und somit ein Absturz zu verhindern.
Die Funktion Count zählt die Zeilen der angegeben Datei und sollte die $abfrage nichtmehr größer als $i sein findet kein weiterer durchlauf statt.

Durch die Funktion file wird dein Dokument in alle Zeilen gesplittet und diese werden in einen Array gelesen in diesem Fall $datei[x].

Durch explode kannst du mit $zerlegen[x](In meinem Beispiel) jedes Teil deiner Zeile zwischen den Simmikolons weiterverarbeiten.
Nun fehlt nurnoch:

$resultat = $zerlegen[0].zerlegen[1].$zerlegen[4]
Bei folgendem Input:

Angela;Merkel;0133713371337;Berlin;Bundeskanzlerin
Günther;Jauch;0133713371338;Münster;Moderator

Sollte keine Änderung am Ausgangstext möglich sein ist es ebenfalls möglich das Leerzeichen als Trennzeichen zu benutzen mit:

$zerlegen = explode(" ", $datei[0+$i]);

Variablennamen sind shit aber Wayne :D Is ausm Stehgreif

Ob das nun elegant gelöst ist, ist eine andere Frage jedoch funktioniert es.
Und hoffe das ist das was du meinst :D
Danke, genau sowas habe ich gesucht.
Nur was, wenn es nicht möglich ist, Semikolons einzubinden oder der Text anderst aufgebaut/Getrennt ist (Beispielswiese durch - , . : ~ oder was auch immer). Funktioniert dies dann nach dem Gleichen prinzip ("abzählen" der Trennzeichen?)

Gruß,
Sodii
07/21/2013 12:45 Throuz#5
Quote:
Originally Posted by Sodii View Post
Danke, genau sowas habe ich gesucht.
Nur was, wenn es nicht möglich ist, Semikolons einzubinden oder der Text anderst aufgebaut/Getrennt ist (Beispielswiese durch - , . : ~ oder was auch immer). Funktioniert dies dann nach dem Gleichen prinzip ("abzählen" der Trennzeichen?)

Gruß,
Sodii
Richtig..
folgenden Parameter musst du abändern:
PHP Code:
explode("Hier dein Trennzeichen rein"$datei[0+$i]); 
07/23/2013 21:40 tяuє Ðevin#6
ahh, danke :)

denke mal es kann geschlossen werden.