Hallo Robert,
preg_match("/\w*@\w*.[a-zA-Z]{2,3}/i",$string);
dieser Ausdruck taugt nichts:
- es gibt durchaus E-Mailadressen bei denen vor dem @ etwas in der Form "vorname.nachname" steht
- genauso, kann hinter dem @ sowas wie "stud.fh-xyz.de" stehen.
- es gibt auch Domains mit Umlauten (und anderen Zeichen die nicht in \w enthalten sind)
- es gibt auch Endungen die mehr als 3 Zeichen haben (.info, .museum)
- der Ausdruck prüft lediglich ob irgendwo in $string eine Zeichenkette mit einem @ und einem . vorkommen - es fehlen ^ und $ um den gesamten String zu Prüfen und nicht nur einen Teil davon
- für was schreibst du [a-zA-Z] wenn du hinten sowieso ein i verwendest?
- der Ausdruck passt auch auf "@.aa" - \w* passt auch auf 0 Zeichen ...
Grüße aus Nürnberg
Tobias