1. <?php
  2. /**
  3. * Parses header metadata for quick fixes with optional flags.
  4. *
  5. * @param array $headers An array of header metadata. Each element should be an associative array.
  6. * @param array $flags An array of flags to apply (e.g., ['uppercase' => true, 'remove_spaces' => true]).
  7. * @return array The parsed and modified header metadata.
  8. */
  9. function parseHeaderMetadata(array $headers, array $flags = []): array
  10. {
  11. $parsedHeaders = [];
  12. foreach ($headers as $headerName => $headerData) {
  13. $modifiedHeader = $headerName; // Default: keep original name
  14. // Apply flags
  15. if (isset($flags['uppercase']) && $flags['uppercase']) {
  16. $modifiedHeader = strtoupper($modifiedHeader);
  17. }
  18. if (isset($flags['remove_spaces']) && $flags['remove_spaces']) {
  19. $modifiedHeader = str_replace(' ', '', $modifiedHeader);
  20. }
  21. $parsedHeaders[$modifiedHeader] = $headerData;
  22. }
  23. return $parsedHeaders;
  24. }
  25. //Example usage
  26. /*
  27. $headers = [
  28. 'Content-Type' => 'text/html ',
  29. 'Authorization' => ' Basic dXNlcm5hbWU6cGFzc3dvcmQ='
  30. ];
  31. $flags = ['uppercase' => true, 'remove_spaces' => true];
  32. $parsed = parseHeaderMetadata($headers, $flags);
  33. print_r($parsed);
  34. */
  35. ?>

Add your comment