Christian Seiler: String zerlegen

Beitrag lesen

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.