Да ereg
семейные функции устарели , вам нужно использовать preg
семейные функции. В вашем случае вы должны использовать preg_match
.
Этот кусок кода эквивалентен:
if(empty($this->email) ||
!preg_match('~^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z]{2,4}$~i',
$this->email))
Он также может быть сжат до:
if(empty($this->email) || !preg_match('~^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,4}$~i',
$this->email))