What are the best practices for handling user input in PHP, especially when dealing with sensitive information like postal codes?

When handling user input in PHP, especially sensitive information like postal codes, it is important to sanitize and validate the input to prevent security vulnerabilities such as SQL injection or cross-site scripting attacks. One way to achieve this is by using PHP's filter_input() function with the FILTER_SANITIZE_STRING filter to remove any potentially harmful characters from the input.

// Sanitize and validate user input for postal code
$postal_code = filter_input(INPUT_POST, 'postal_code', FILTER_SANITIZE_STRING);

if (empty($postal_code) || !preg_match('/^[0-9]{5}$/', $postal_code)) {
    // Handle invalid input error
} else {
    // Proceed with storing or processing the sanitized postal code
}