rendered paste body function parse_packages( $filename )
{
$lines = (strpos($filename, ".gz") !== False)
? gzfile($filename) : file($filename);
$i = -1;
$curtag = false;
$newtag = true;
$value = "";
$res = Array();
foreach( $lines as $line )
{
$matches = Array();
if ( preg_match("/^([^ ]*):( )?(.*)$/", $line, $matches) )
{
if ( $curtag !== false && $i >= 0 )
$res[$i][1][$curtag] = $value;
$curtag = $matches[1];
$value = $matches[3];
if ( $curtag == "Package" )
$res[++$i] = Array(0 => $value, 1 => Array());
$newtag = true;
}
else
{
if ( trim($line) !== "." )
{
if ( $newtag || substr($line, 0, 2) == " " )
$value .= "\n";
else
$value .= " ";
$value .= trim($line);
}
else $value .= "\n\n";
$newtag = false;
}
}
if ( $curtag !== false && $i >= 0 )
$res[$i][1][$curtag] = $value;
return $res;
}