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

When dealing with user input in PHP, it is important to sanitize the input to prevent security vulnerabilities such as SQL injection and cross-site scripting attacks. One common method to sanitize user input is to use functions like htmlspecialchars() or mysqli_real_escape_string() to escape special characters that could be used for malicious purposes.

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