Ergebnis 1 bis 3 von 3

Thema: PHP - RegEx matched nur den letzten Datensatz

  1. #1
    HTML Newbie
    Registriert seit
    13.11.2009
    Beiträge
    2
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard PHP - RegEx matched nur den letzten Datensatz

    Guten Morgen Jungs und Mädels,
    ich habe ein Problem mit regulären Ausdrücken. Und zwar scheine ich mit preg_match() immer nur den letzten Datensatz aus einem String lesen zu können.

    Meine Daten habe ich in folgender Form in einem String gespeichert:
    Name:Alter;Name:Alter;...

    Beispiel:
    Max:12;Moritz:14;Boris:43;
    Tarzan:23;

    Dies ist meine Anweisung, mit dem ich den o.g. string durchsuche:
    PHP-Code:
    preg_match('/(?:([\w]*):([0-9]*);)*/',$subject,$matches); 
    Als Ausgabe von var_dump($matches); erhalte ich aber nur:
    HTML-Code:
    array(3) {
      [0]=>
      string(36) "Max:12;Moritz:14;Boris:43;Tarzan:23;"
      [1]=>
      string(6) "Tarzan"
      [2]=>
      string(2) "23"
    }
    Nun meine Frage:
    Was muss ich an dem pattern ändern, um alle Datensätze zu erhalten? Wichtig ist, dass es wohl bis zu mehreren hundert Datensätzen kommen kann.
    Oder gibt es vielleicht eine andere Möglichkeit außer RegEx, um an die Daten heranzukommen?

    Gruß,
    Orbis
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von Orbis (13.11.2009 um 15:23 Uhr)

  2. #2
    König(in) Avatar von crAzywuLf
    Registriert seit
    03.02.2009
    Beiträge
    1.175
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: PHP - RegEx matched nur den letzten Datensatz

    preg_match_all() wendet den regulären Ausdruck auf den kompletten Text an.

    Bei folgenden Beispiel:
    Max:12;Moritz:14;Boris:43;Tarzan:23;


    Du könntest auch ein explode(";", $data); und explode(":", $data); machen. z.B.:
    PHP-Code:
    <?php
    $data 
    "Max:12;Moritz:14;Boris:43;Tarzan:23";
    $data explode(";"$data);
    foreach (
    $data as $line)
    {
        
    $userdata explode(":"$line);
        print 
    '<pre>';
        
    print_r($userdata);
        print 
    '</pre>';
    }
    ?>
    Geändert von crAzywuLf (13.11.2009 um 15:04 Uhr)
    Gruß crAzywuLf

  3. #3
    HTML Newbie
    Themenstarter

    Registriert seit
    13.11.2009
    Beiträge
    2
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: PHP - RegEx matched nur den letzten Datensatz

    Vielen Dank für die schnelle Hilfe. Preg_match_all() hat prima geklappt.

Ähnliche Themen

  1. RegEx
    Von Thonixx im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 10.10.2008, 09:15
  2. RegEx in php
    Von synaptic im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 8
    Letzter Beitrag: 04.07.2008, 13:59
  3. regex
    Von markus88 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 22.03.2007, 12:27
  4. letzten Datensatz ansprechen
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 14
    Letzter Beitrag: 29.11.2005, 13:54
  5. Blicksnitmehr: PHP zeigt nur den letzten SQL-Datensatz...
    Von tompo im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 7
    Letzter Beitrag: 05.07.2005, 20:44

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •