What is the difference between htmlentities() and htmlspecialchars() in PHP?
Hello, colleagues! I'm new to PHP and trying to understand safe data output in HTML. I found two functions: `htmlentities()` and `htmlspecialchars()`. Both, as I understand, convert special characters into HTML entities to avoid XSS attacks and incorrect rendering.
But I'm confused: when should I use which? Look at my code. I have a simple feedback form:
```php
$name = $_POST['name']; // for example: John "The Hacker" Doe
$comment = $_POST['comment']; // for example:
```
I want to output this data on the page. If I use `htmlspecialchars()`, the `<` and `>` characters are converted to `<` and `>`, and quotes to `"`. But I read that `htmlentities()` does the same thing, plus converts all characters that have HTML entities.