Réjouis toi Matt.Rixx, voici venir la fin de l'obscurité :-)

La différence entre la famille de fonctions ereg_* et la famille preg_* est simple: ereg utilise les expressions régulières POSIX, alors que preg utilise les expressions compatibles Perl (PCRE).

Alors après, on peut se demander, pourquoi deux moteurs de regexp différent ? Et là je peux te répondre, mais il y en a plus que deux très cher, et la réponse ultime est a peu de chose près la même que celle a la question mais pourquoi existe-t-il plusieurs implémentations de <insérer ici le nom d'un logiciel/protocole quelconque> ? :-)

Pour plus de détails techniques, je t'invite à lire ou à survoler: