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

When handling user input containing HTML in PHP forms, it is crucial to prevent security vulnerabilities such as cross-site scripting (XSS) attacks. One way to mitigate this risk is by sanitizing the input using functions like htmlspecialchars() to encode special characters. Additionally, you can use validation techniques to ensure that the input meets specific criteria before processing it.

// Sanitize user input containing HTML in PHP forms to prevent security vulnerabilities

$user_input = "<script>alert('XSS attack!');</script>";

$sanitized_input = htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8');

// Process the sanitized input further (e.g., store in a database, display on a webpage)