PlayersGarden: Einen Schritt weiter

Beitrag lesen

  
$pattern = '/\{LG:(?<identifier>[\w]+)(\|[A-Za-z0-9]+)*\}/';  
$string = '<li>{LG:TEASER_TEXT_1|Foo|Bar|FooBar}</li>';  
preg_match_all($pattern, $string, $matches, PREG_SET_ORDER);  
var_dump('<pre>', $matches, '</pre>');  

Liefert folgendes Array:
  array(4) {
    [0]=>
    string(33) "{LG:TEASER_TEXT_1|Foo|Bar|FooBar}"
    ["identifier"]=>
    string(13) "TEASER_TEXT_1"
    [1]=>
    string(13) "TEASER_TEXT_1"
    [2]=>
    string(7) "|FooBar"
  }

Jetzt ist die Frage - wieso nimmt er nur das letzte '|FooBar' Element und nicht alle? Wird das Value evtl. immer überschrieben?