What is the difference between strip_tags and filter_var when sanitizing user inputs in PHP?

When sanitizing user inputs in PHP, strip_tags is used to remove HTML tags from the input string, while filter_var is used to filter the input using a specified filter. strip_tags only removes HTML tags, while filter_var can perform more complex filtering tasks such as validating email addresses or URLs.

// Using strip_tags to sanitize user input
$unsafe_input = "<script>alert('XSS attack!')</script>";
$safe_input = strip_tags($unsafe_input);

// Using filter_var to sanitize user input
$unsafe_email = "john.doe@example.com<script>";
$safe_email = filter_var($unsafe_email, FILTER_SANITIZE_EMAIL);