• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

eregi, ereg und co

Puccini

Neues Mitglied
HI,

ich hab ein verständnisproblem -.-
die regulären ausdrücke machen mir zu schaffen..

ich hab folgede Form von Daten in einem String:
Code:
Name: Müller [Abteilung,Ort,Tele,Email]
So sind alle Daten in einer Textdatei aufgebaut
ich wollte jetzt gern:
via eregi oder ereg (weis net, aber glaube eregi wäre besser, da ab und zu Name klein geschrieben is...) diesen String so zerlegen, das ich den Namen und die zugehörigen Eigenschaften in einem Array hab.
quasi
Code:
eregi("regex",$String,$regArray)
echo $regArray[1]; //Name
echo $regArray[2]; //Abteilung
etc.

der regex-ausdruck müsste doch dann irgendwie so aussehen:
"Name: [.]* ([.]*,)"
oder? XD es kann ja jedes beliebige Zeichen in der Zeile stehen...
Noch ein Problem:
Bei den Attributen sind nicht immer alle gepflegt, wenn dann aber in der reihenfolge.
vielen dank euch
 
Werbung:
ereg ist böse, nim preg_match!
PHP:
preg_match("Name\: ([^\]]+) \[([^,]),([^,]),([^,]),([^\]])\]", $string, $matches);

echo '<pre>';
print_r($matches);
 
Dann solltest du ihm aber auch sagen warum ;)

php.net schrieb:
Anmerkungen

Hinweis: Die Funktion preg_match(), die eine zu Perl kompatible Syntax regulärer Ausdrücke verwendet, ist häufig die schnellere Alternative zu ereg().

Hinweis: Bis (und inklusive) PHP 4.1.0 wird $regs mit genau zehn Elementen gefüllt, auch wenn es tatsächlich mehr oder weniger Übereinstimmungen mit den eingeklammerten Teilzeichenketten gibt. Dies wirkt sich aber nicht auf ereg()s Fähigkeit aus, mehr übereinstimmende Teilzeichenketten zu finden. Falls keine Übereinstimmungen gefunden werden, wird $regs nicht von ereg() verändert.
 
Werbung:
Zurück
Oben