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);