What are the best practices for handling user input from email forms in PHP to ensure security and accuracy?

When handling user input from email forms in PHP, it is important to sanitize and validate the input to prevent security vulnerabilities such as SQL injection and cross-site scripting attacks. One way to ensure security and accuracy is to use PHP's filter_var function with the FILTER_SANITIZE_EMAIL filter to sanitize the email input. Additionally, you can use regular expressions to validate the email format before processing it.

$email = $_POST['email'];

// Sanitize email input
$sanitized_email = filter_var($email, FILTER_SANITIZE_EMAIL);

// Validate email format
if (filter_var($sanitized_email, FILTER_VALIDATE_EMAIL)) {
    // Email is valid, proceed with processing
} else {
    // Invalid email format, handle error accordingly
}