<?php
/**
* Parses header metadata for quick fixes with optional flags.
*
* @param array $headers An array of header metadata. Each element should be an associative array.
* @param array $flags An array of flags to apply (e.g., ['uppercase' => true, 'remove_spaces' => true]).
* @return array The parsed and modified header metadata.
*/
function parseHeaderMetadata(array $headers, array $flags = []): array
{
$parsedHeaders = [];
foreach ($headers as $headerName => $headerData) {
$modifiedHeader = $headerName; // Default: keep original name
// Apply flags
if (isset($flags['uppercase']) && $flags['uppercase']) {
$modifiedHeader = strtoupper($modifiedHeader);
}
if (isset($flags['remove_spaces']) && $flags['remove_spaces']) {
$modifiedHeader = str_replace(' ', '', $modifiedHeader);
}
$parsedHeaders[$modifiedHeader] = $headerData;
}
return $parsedHeaders;
}
//Example usage
/*
$headers = [
'Content-Type' => 'text/html ',
'Authorization' => ' Basic dXNlcm5hbWU6cGFzc3dvcmQ='
];
$flags = ['uppercase' => true, 'remove_spaces' => true];
$parsed = parseHeaderMetadata($headers, $flags);
print_r($parsed);
*/
?>
Add your comment