php preg_match in array



  • Hallo zusammen,

    ich würde gerne mit einem regulären Ausdruck, bestimmt Teile eines Strungs in ein Array speichern.
    Der String ist wie folgt aufgebaut:

    # Parent  7dd1fb20c0e186c42146b700785d1fc23e830685# Parent  7f7108f37f8d2e9e419e0293c3eee82a5a515ca7
    

    Wie man sieht wiederholt sich der Teil ab dem # immer, was aber nicht sein muss. Aber er kommt mindestens einmal vor am Zeilenanfang.
    Ich würde nun gerne die hexadezimalen IDs in ein Array gespeichert haben.

    Mein Versuch sieht so aus:

    preg_match_all( '@# Parent + ([a-f0-9]+)+@', $t_line, $t_matches )
    

    Die Variable $t_line enthält hierbei den String.
    Das Ergebnis finde ich so aber unschön, da ich ein mehrdimensionales Array bekomme, bei dem auch die einzelnen Teilstrings inklusive des

    # Parent
    

    mit drin sind, und erst als letztes Element jeweils die reine ID.

    Kann man das so lösen, dass ich ein Array in der Form:

    [1] => 7dd1fb20c0e186c42146b700785d1fc23e830685,
     [2] => 7f7108f37f8d2e9e419e0293c3eee82a5a515ca7
    

    bekomme, aber trotzdem sicher gestellt ist, dass der # Parent Teil in dem String vorkommt?


Anmelden zum Antworten