'Funktionsfrage' Was ist besser ?

SaTaN

Erfahrenes Mitglied
Hallo Leute,

Ich würde gerne wissen wie unterscheiden sich
die beiden Befehle untereinander.

PHP:
if(eregi("^[_0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$",$_POST['mail'])){

oder

PHP:
if (preg_match("/^[_a-z0-9]+(\.[_a-z0-9-]+)*@([a-z0-9-]+\.)+([a-z]{2,4})$/i", $_POST['email'])) {

Irgenwie habe ich ich das in Erinnerung das eins schneller ist als das andere.
Beide Schreibweisen funktionieren.
Ich hätte gerne die Unterschiede gewusst.

Vielen Dank.

euer SaTaN
 
preg_match

Seit PHP-Version 3.0.9 kann man unter PHP nun auch die Perl Kompatiblen Regulären Ausdrücke (PCRE) verwenden. Ihr Vorteil ist: sie sind ausgereifter und dadurch sehr viel schneller als die EREG-Funktionen (in manchen Fällen sogar bis zu 200x schneller). Außerdem sind PCRE sehr flexibel. Sie verstehen nicht nur die meist unter Perl verwendete Syntax, sondern man kann auch die Syntax der Regulären Ausdrücke verwenden, die in diesem Kapitel erklärt wurde.
 
...da haben wir den Salat...der Text kommt mir bekannt vor... :P

...ich geb zwar Tips, bin aber zu faul selbst auf php.net nachzugucken, das müssn denn die anderen machen ;)

Da steht er nämlich :P Naja...wieder was gelernt...

Nich immer so faul sein... *selbsthau*
 
Grundsätzlich solltest du, wenn verfügbar (was bei den meisten Webservern heut eigentlich der Fall sein sollte) immer die preg-Funktionen, da sie wie schon gesagt, wesentlich schneller sind, als die ereg.
 
Zurück