What is the best practice for handling user input in PHP to ensure security?

When handling user input in PHP, it is important to sanitize and validate the input to prevent security vulnerabilities such as SQL injection or cross-site scripting attacks. One way to achieve this is by using PHP's filter_var() function along with the FILTER_SANITIZE_STRING filter to sanitize input and the FILTER_VALIDATE_EMAIL filter to validate email addresses.

$user_input = $_POST['user_input'];
$sanitized_input = filter_var($user_input, FILTER_SANITIZE_STRING);

if(filter_var($sanitized_input, FILTER_VALIDATE_EMAIL)) {
    // Valid email address
} else {
    // Invalid email address
}