mail header som fylder mere end 1 linie
Jeg har brug for en regular expression som fanger alle mail headers. Dette er nemt hvis hver header er afsluttet med linieskift, men nogle kører videre på flere linier. For dem der kører over flere linier starter de resterende linier med white-space.Hvordan klarer jeg den?
Nedenstående Php funktion kan klare headers på 1 linie.
function mail_parse_header ($header_str) {
$headers = array();
if (preg_match_all("/^([a-z\-]+):(.*)$/Umis", $header_str, $header_array)) {
while (list($key, $val) = each($header_array[2])) {
$headers[$header_array[1][$key]] = $val;
}
return $headers;
}
return false;
}