Text auslesen und in array übergeben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Text auslesen und in array übergeben

    Gab sicherlich schon viele Threads zu diesem Thema.
    Hab nur kein passenden gefunden, der mein Problem löst.

    Also, hab ne Datei, die wie folgt behandelt wird:

    PHP-Code:
    $dateianzahl=fopen("daten/anza.hln","r");
    $anzahl=intval(fgets($dateianzahl,10000));

    $readin=array();

    $x=0;
    for(
    $i=$anzahl;$i>-1;$i--) {
        
    $k=0;
        if(
    file_exists("daten/n".$i.".atk")){
            for(
    $y=$anzahly;$y>-1;$y--) {
            }
            
            
    //$commentanzahl=$k;
            
    include "daten/n".$i.".atk";
    $datum preg_replace("/^(\d{1,2})\.(\d{1,2})\.(19|20)(\d{2})$/""$3$4\.$2\.$1"$useingestellt);
            
    $readin[$x][]=stripslashes($datum);
            
    $readin[$x][]=stripslashes($usnews);
            
    $readin[$x][]=stripslashes($ustest1);
            
    $readin[$x][]=stripslashes($ustest2);
            
    $readin[$x][]=stripslashes($ustest3);
            
    $readin[$x][]=$i;
            
    $x++;
        }

    So, die "$ustest1" hat folgende Werte:

    Blabla1|26
    Blabla2|133

    Jetzt möchte ich das ganze splitten, so das
    erst mal jede Zeile für sich steht:

    Zeile1: Blabla1|26
    Zeile 2: Blabla2|133

    und im nächsten Schritt das ganze exploden
    das ist dann auch klar ... = explode ("|", ...)

    Die gewonnenen Werte sollen dann weiterverarbeitet werden.
    Sodas das Wort $Wort zugeordnet wird und die Zahl meinetwegen $Zahl.
    Ich habs mal so probiert:

    PHP-Code:
    $ex1 explode ("/n"$readin[$x][2]);
    $ex2 explode ("|", $2ex1);
    $Wort $ex2[0];
    $Zahl $ex2[1]; 
    Geht aber nicht.
    Bin php noch nicht so supie gut bewandert. Habt nachsicht.

  • #2
    du würdest dir das leben erleichtern, wenn du die variablen sinnvoll benennen würdest.
    PHP-Code:
    $zeilen explode("\n"$ganzer_text); //beachte backslash
    foreach ($zeilen as $zeile)
    {
       
    $zeilen_bestandteile explode('|'$zeile);
       
    $wort $zeilen_bestandteile[0];
       
    $zahl $zeilen_bestandteile[1];

       echo 
    $wort ' - ' $zahl '<br />';

    usw.

    Kommentar


    • #3
      Jo, alles klar.
      Habe noch ne Frage:

      Wie kann ich einen bestimmten Bereich einer Zeile vor der Ausgabe löschen.
      Der Bereich ist in Klammern ( ) angegeben.

      Oder anders, es sollen nur die ersten 3 Wörter ohne Leerzeichen ausgegeben werden.

      PHP-Code:
       $usbildname str_replace(" ","",$usname); 
      Das ist klar. Hier werden die Leerzeichen gelöscht.
      Jetzt möchte ich aber nur die ersten 3 Worte ausgeben.
      Aber in manchen Zeilen steht nur eins oder zwei.

      Kommentar


      • #4

        zeig mal testdaten und gewünschtes ergebnis.

        Kommentar

        Lädt...
        X