How important is it to sanitize user input when using a BBCode parser in PHP?

It is crucial to sanitize user input when using a BBCode parser in PHP to prevent potential security vulnerabilities such as cross-site scripting (XSS) attacks. One way to sanitize user input is to use PHP's htmlspecialchars function to convert special characters to HTML entities, ensuring that any potentially harmful code is displayed as plain text rather than executed.

// Example of sanitizing user input before parsing BBCode
$userInput = "<script>alert('XSS attack!');</script>";
$sanitizedInput = htmlspecialchars($userInput);

// Parse BBCode with sanitized input
$parser = new BBCodeParser;
$parsedOutput = $parser->parse($sanitizedInput);
echo $parsedOutput;