Le funzioni PHP ereg o eregi, pur essendo ancora ampliamente utilizzate dai programmatori per il riconoscimento di espressioni regolari, dalla versione php 5.3 saranno dichiarate deprecate e addirittura non saranno più utilizzabili dalla versione 6 in poi.
I programmatori rimasti orfani da questa funzione potranno però sostituirla, seppur con qualche piccola modifica con la funzione preg_match, basterà aggiungere degli slash ("/") delimitatori alla espressione regolare. Ad esempio:
ereg('pattern', 'stringa');
verrà sostituito con:
preg_match('/pattern/', 'stringa');
Nel caso si voglia inserire uno slash dal metodo di ricerca lo si dovrà precedere da un backslash ("\"), cosa che si può automatizzare con la funzione addcslashes esempio:
$pattern = '<p>.+</p>';
$escaped_pattern = addcslashes($pattern, '/');
preg_match('/'.$escaped_pattern.'/', $stringa)
La sua variante case insensitive, per sostituire anche la vecchia eregi, la si ottiene aggiungendo una "i" dopo lo slash di chiusura, quindi:
preg_match('/'.$escaped_pattern.'/i', $stringa)
Così anche ereg_replace viene sostituito con preg_replace, come da esempio:
ereg_replace('^Re-', 'Re^2-', $stringa);
diventa
preg_replace('/^Re-/i', 'Re^2-', $stringa);