Hallo!
Miene eigentliche Frage lautet nun also: Wie sucht man nach dem ersten Leerzeichen dem kein Kommata oder Schrägstrich vorangestellt ist?
Oder: Wie findet man einzelne Wörter einer Kette von Wörtern, die an den Start des Strings geleimt ist und durch ein Komma + Leerzeichen gegliedert ist.
Ein regex Muster könnte so aussehen, falls ich das Problem richtig verstanden habe:
\G(?:, )?\K[\w-]+
- Der
\G
Anker ist sozusagen der Leim. Er passt auf den Start des Strings und die Stelle, an welcher ein vorrangegangener Treffer endet. (?:, )?
Eine optionale sog. non-capturing group, welche ein Komma mit einem nachgestellten Leerzeichen enthält. Optional, da das Komma mit Leerzeichen auf den Anfang nicht zutrifft.\K
Escape-Sequenz setzt den Anfang des Treffers zurück.[\w-]+
Eine Zeichenklasse, die Wortzeichen und ein Minus enthält. Jeweils 1 oder mehr hiervon.
Anzuwenden mit preg_match_all
. Hier ein PHP Test auf eval.in oder regex Test auf regex101.