Your email validation absolutely fine, except that there is no function named clean in PHP. That is whu you might be getting an error. And why are you assigning an email id $user_email after you have already assigned post value to it. Instead use:
$user_email= $_POST['user_email'];
if(eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $user_email)) {
echo "Valid email address.";
}
else {
echo "Invalid email address.";
}