Problem mit sscanf()

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

  • Problem mit sscanf()

    Ich habe folgendes Problem: Ich möchte MP3-Dateien in eine Datenbank importieren, die zum Teil keine ID3-Tags enthalten. Die Informationen zur Datei muss also der Dateiname hergeben. Die Dateinamen lauten z.B. "01 Less Than Jake - Boarders and Boandaries". Ich benutze folgenden Code:

    PHP-Code:
    $filename '01 Less Than Jake - Boarders and Boundaries';
    $info sscanf($filename'%d %s - %s');
    print_r($info); 
    Die Ausgabe lautet:
    Code:
    Array
    (
        [0] => 1
        [1] => Less
        [2] => 
    )
    Wie schaff ich es, daß es so Funktioniert wie ich es will? Die Ausgabe sollte wie folgt lauten:
    Code:
    Array
    (
        [0] => 1
        [1] => Less Than Jake
        [2] => Boarders and Boundaries
    )
    Schonmal Danke im Voraus,
    Bobo

  • #2
    PHP-Code:
    $name='01 Less Than Jake - Boarders and Boundaries';
    preg_match('%([0-9]{1,}) (.*) - (.*)%',$name,$ergebnis);
    echo 
    '<pre>';
    print_r($ergebnis);
    echo 
    '</pre>'
    so?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      thx

      Danke für deine Antwort... es funktioniert. Ich würde mich nur freuen, wenn mir jemand erklären könnte, wie genau das funktioniert, oder mir den Link zu einem guten Tutorial zu reguären Ausdrücken schicken könnte.
      Zuletzt geändert von Bobo100; 16.07.2003, 09:10.

      Kommentar


      • #4
        ganz einfach *g*

        preg_match('%([0-9]{1,}) (.*) - (.*)%',$name,$ergebnis)

        verwendet das muster ([0-9]{1,}) (.*) - (.*) und packt alles, was in $name darauf passt als array-elemente in $ergebnis

        [0,9]{1,} heißt: zahlen von 0-9, die mindestens einmal auftreten
        (.*): beliebig viele zeichen

        mehr dazu hier: http://www.php-resource.de/tutorials/read/10/1/
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar

        Lädt...
        X