Hallo Reto,
String: "InnovaTec: Admin InnovaTec Strub" (Der stammt aus eriner .htgroups Datei)
ereg ("(.*)(:)(.*)( )(.*)( )(.*)($)", $zeile, $solve_var);
Der Ansatz ist nicht ganz korrekt. Der .*-Ausdruck ist "gierig", er frisst immer das Maximum. Du musst in "ungreedy", also "nicht gierig" machen. Entweder, Du verwendest ".*?", was lahm ist, oder Du verwendest eine invertierte Zeichenklasse:
preg_match, ('/^([^:]*):\s*([^\s]*)\s*([^\s]*)\s*(.*)$/', $zeile, $solve_var);
$solve_var[0]: "InnovaTec: Admin InnovaTec Strub"
$solve_var[1]: "InnovaTec"
$solve_var[2]: "Admin"
$solve_var[3]: "InnovaTec"
$solve_var[4]: "Strub"
(sofern der Ausdruck erfüllt wird)
Grüße,
Christian
-- 
Ich wünsche allen frohe Weihnachten!
Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.
  Ich wünsche allen frohe Weihnachten!
Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.
 nicht angemeldet
 nicht angemeldet