What are some best practices for handling user input in PHP to prevent security vulnerabilities?

When handling user input in PHP, it is essential to sanitize and validate the input to prevent security vulnerabilities such as SQL injection and cross-site scripting attacks. One best practice is to use PHP's filter functions to sanitize and validate input data before using it in your application. Additionally, you should always escape output data to prevent XSS attacks.

// Sanitize and validate user input using PHP filter functions
$input = filter_input(INPUT_POST, 'user_input', FILTER_SANITIZE_STRING);

// Escape output data to prevent XSS attacks
echo htmlspecialchars($input, ENT_QUOTES, 'UTF-8');