What is the best practice for handling user input in PHP to prevent Cross-Site Scripting (XSS) attacks?

To prevent Cross-Site Scripting (XSS) attacks in PHP, the best practice is to always sanitize and validate user input before displaying it on a webpage. This can be done by using functions like htmlspecialchars() to encode special characters in the input data.

// Sanitize user input to prevent XSS attacks
$user_input = "<script>alert('XSS attack!');</script>";
$sanitized_input = htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8');

echo $sanitized_input;